【问题标题】:How to keep django_q cluster running in linux server?如何保持 django_q 集群在 linux 服务器中运行?
【发布时间】:2021-11-17 19:42:55
【问题描述】:

我在我的 django 项目中使用 django_q 进行一些调度和自动化。

我成功配置了所有需要的东西,但是要让 django_q 运行,我必须在服务器命令行中输入“python manage.py qcluster”,并且在我关闭 shell 会话 id 后,它就不再起作用了。

在 django_q 官方文档中它说不需要主管,但这没有运行。

有什么想法吗?

【问题讨论】:

标签: python django-rest-framework scheduled-tasks django-q


【解决方案1】:

您可以使用几种方法。

  1. 您可以安装屏幕程序来创建一个在注销后仍然存在的终端会话。另见:https://superuser.com/questions/451057/keep-processes-alive-after-ssh-logout

  2. 您可以使用 systemd 自动启动您的 qcluster。这样做的好处是,如果您的服务器重新启动,它将再次启动 qcluster。您需要使用Type=simple 编写服务单元文件。这是list of resources

    这是一个示例单元文件。 (您可能需要稍微调整一下。)

    [Unit]
    Description=qcluster daemon
    
    [Service]
    User=<django user>
    Group=<django group>
    WorkingDirectory=<your working dir>
    Environment=PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/   bin/
    ExecStart=python manage.py qcluster
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

【讨论】:

    猜你喜欢
    • 2015-11-24
    • 1970-01-01
    • 2013-01-26
    • 2015-01-20
    • 2017-08-23
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多