विवरणपैरामीटर --auto-reload काम नहीं कर रहा है अगर एडॉन्स पथ सामग्री मॉड्यूल से लिंक हैं?
आम तौर पर अगर आप बदलना अपने अजगर कोड का मतलब है, आप नए परिवर्तनों को लागू करने में सर्वर को पुनः आरंभ करने की जरूरत है।
यदि --auto-reload
पैरामीटर सक्षम है, तो आपको सर्वर को पुनरारंभ करने की आवश्यकता नहीं है। यह सर्वर को पुनरारंभ किए बिना पाइथन फ़ाइलों और एक्सएमएल फ़ाइलों के ऑटो-रीलोडिंग को सक्षम बनाता है। इसके लिए pyinotify की आवश्यकता है। यह फाइल सिस्टम परिवर्तनों की निगरानी के लिए एक पायथन मॉड्यूल है।
पिछला समस्या
मैं त्रुटि मिली:
ERROR ? pyinotify: add_watch: cannot watch /home/user/.local/share/Odoo/addons/8.0 WD=-1, Errno=No space left on device (ENOSPC)
लेकिन मैं this link की सलाह का पालन और अब मैं उस त्रुटि अब और नहीं मिलता है:
sysctl -n -w fs.inotify.max_user_watches=16384
के बाद यह मुझे सर्वर लॉग में मिला:
openerp.service.server: Watching addons folder /opt/odoo_8/src/linked-addons
openerp.service.server: AutoReload watcher running
इसका मतलब है कि यह ठीक से काम कर रहा है। और वास्तव में मैंने इसे एक भौतिक एडन पथ के साथ परीक्षण किया और यह काम किया।
वर्तमान समस्या
मैं कई फ़ोल्डरों एन मेरी सभी मॉड्यूल है, लेकिन मैं केवल एक एडऑन पथ का उपयोग करें: /opt/odoo_8/src/linked-addons
। इस फ़ोल्डर में मॉड्यूल के सभी लिंक शामिल हैं जिनका मैं उपयोग कर रहा हूं। जब मैं ओडू चलाता हूं तो सभी मॉड्यूल अच्छी तरह से काम कर रहे हैं।
लेकिन समस्या यह है कि pyinotify लिंक से परे फ़ाइलों की जांच करने में सक्षम नहीं है और यह फ़ाइलों को अच्छी तरह से लोड नहीं करता है। इसे ठीक करने के लिए मुझे क्या करना चाहिए? क्या कोई तरीका है कि pyinotify लिंक की सामग्री को पहचान सकते हैं?
पीडी: मैं ओडू में मॉड्यूल फ़ोल्डरों के प्रबंधन के अपने तरीके को बदलना नहीं चाहता हूं।
वॉचडॉग को देखकर लायक हो सकता है https://pypi.python.org/pypi/watchdog –
धन्यवाद! लेकिन मैं pyinotify का उपयोग करना पसंद करता हूं क्योंकि मैं इसे ओडू लॉन्चर – ChesuCR
के साथ उपयोग कर सकता हूं एक मॉड्यूल (http://bazaar.launchpad.net/~zaber/openobject-addons/zaber-custom/files/head:/module_reload/) है जो अगले अपग्रेड बटन को खोलने के लिए 'रीलोड' बटन जोड़ता है। – Zety