Сервис Odoo перезапускается и обновляется с помощью systemctl
Сервис Odoo запущен systemctl start odoo
, Я использую Centos. Когда я хочу обновить мой измененный *.py код, я делал это так:
1. systemctl stop odoo
Then I update my module and database by useing this:
2. ./odoo.py -c openerp-server.conf -u <my_module_name> -d <database_name>
3. stop service by ctrl + c
4. systemctl start odoo
Но это действительно длинный и неудобный способ обновления изменений.
Есть ли более короткий способ выполнять те же операции более коротким способом?
2 ответа
Odoo с обслуживанием
Вы можете внести изменения, как это:
- Остановите сервер:
systemctl stop odoo
- Запустите сервер:
systemctl start odoo
, Здесь.py
обновляются - Если вам также нужно обновить
xml
или некоторые переводы вы можете нажатьUpdate
кнопка на интерфейсе Odoo, в форме описания модуля.
Примечание. Существуют модули для перезагрузки определенных представлений XML. Если вы заинтересованы в этом, я могу посмотреть, чтобы найти его.
Odoo без обслуживания
Если вы разрабатываете на локальном компьютере, вам не нужно использовать systemctl
, Просто запустите Odoo напрямую с odoo.py
и вы можете увидеть изменения сразу:
./odoo.py -c openerp-server.conf -u <my_module_name> -d <database_name>
Автозагрузка файлов Python
Есть еще один вариант перезагрузить файлы Python после их изменения. Проверьте этот другой ответ:
Обычно, если вы меняете свой код на python, вам нужно перезапустить сервер, чтобы применить новые изменения.
--auto-reload
Параметр включен означает, что вам не нужно перезагружать сервер. Это позволяет автоматически перезагружать файлы Python и XML-файлы без перезагрузки сервера. Требуется пииноить. Это модуль Python для мониторинга изменений файловых систем.Просто добавь
--auto-reload
в вашем конфигурационном файле. По умолчанию значение будет "ложь". Вам не нужно передавать никаких дополнительных аргументов.--auto-reload
достаточно. Если все настроено и работает правильно, вы получитеopenerp.service.server: Watching addons folder /opt/odoo/v8.0/addons openerp.service.server: AutoReload watcher running in the server log. Don't forget to install pyinotify package.
Но в odoo 10 просто добавь --dev=reload
параметра Я
--dev=DEV_MODE Enable developer mode. Param: List of options
separated by comma. Options : all,
[pudb|wdb|ipdb|pdb], reload, qweb, werkzeug, xml
Failed to stop odoo.service: Access denied. See system logs and 'systemctl status odoo.service' for details.
Изначально у меня возникла такая ошибка. Затем попробовал с su и получил это.
Failed to stop odoo.service: Unit odoo.service not loaded.
Меня беспокоит, как определить идеальный файл, с помощью которого я могу перезапустить службы Odoo после установки нового модуля.