如何将Systemd用于Django-q守护程序

时间:2019-01-05 15:58:39

标签: python django

我将Django-Q用于任务队列和调度程序。我需要继续运行以下命令:python manage.py qcluster. 我该如何使用Systemd?

我已经找到了用于.service文件的代码,但是我不知道如何将Virtualenv用于python路径:

[Unit]
Description=Async tasks runner
After=network.target remote-fs.target

[Service]
ExecStart=/usr/bin/django-admin qcluster --pythonpath /path/to/project --settings settings
User=apache
Restart=always

[Install]
WantedBy=multi-user.target

1 个答案:

答案 0 :(得分:0)

使用安装在virtualenv的django-admin目录中的bin二进制文件或那里的python二进制文件,在项目的工作目录中运行manage.py

ExecStart=/path/to/my-venv/bin/django-admin qcluster --pythonpath /path/to/project --settings settings

ExecStart=/path/to/my-venv/bin/python manage.py qcluster --pythonpath /path/to/project --settings settings
RootDirectory=/path/to/project