Сервис 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 с обслуживанием

Вы можете внести изменения, как это:

  1. Остановите сервер: systemctl stop odoo
  2. Запустите сервер: systemctl start odoo, Здесь .py обновляются
  3. Если вам также нужно обновить 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 после установки нового модуля.

Другие вопросы по тегам