Odoo服务使用systemctl重新启动和更新

时间:2018-03-19 08:51:43

标签: python odoo odoo-9 systemctl start-stop-daemon

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 个答案:

答案 0 :(得分:1)

带服务的Odoo

您可以进行以下更改:

  1. 停止服务器:systemctl stop odoo
  2. 启动服务器:systemctl start odoo。这里.py已更新
  3. 如果您还需要更新xml或某些翻译,可以按模块说明表单上的Odoo界面上的Update按钮。
  4. 注意:有些模块可以重新加载特定的xml视图。如果您对此感兴趣,我可以查看是否找到了。

    没有服务的Odoo

    如果您在本地计算机上进行开发,则无需使用systemctl。只需使用odoo.py直接运行Odoo,您就可以立即看到更改:

    ./odoo.py -c openerp-server.conf -u <my_module_name> -d <database_name>
    

    自动加载Python文件

    还有另一个选项可以在python文件发生变化时重新加载。检查此other answer

      

    通常,如果更改python代码意味着,则需要重新启动   服务器以应用新的更改。

         启用

    --auto-reload参数意味着,您无需重启服务器。它可以自动重新加载python文件和xml文件   无需重启服务器。它需要   pyinotify。这是一个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
    

答案 1 :(得分:0)

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 服务的完美文件。