【问题标题】: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】:
您可以使用几种方法。
-
您可以安装屏幕程序来创建一个在注销后仍然存在的终端会话。另见:https://superuser.com/questions/451057/keep-processes-alive-after-ssh-logout
-
您可以使用 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