如何在没有命令行界面的情况下启动redis队列工作程序?

时间:2017-04-27 15:15:10

标签: python redis task-queue

我使用此工具http://python-rq.org/

我有一个烧瓶应用程序,但除了使用rq cli之外,我找不到启动rq worker的方法,例如$ rq worker 我需要让工作人员一直在运行,我怎样才能让它作为服务运行?我也需要服务启动时启动。

2 个答案:

答案 0 :(得分:1)

你应该调查一些主管程序来控制你的rq worker。看看supervisor或systemd。我个人使用supervisord,它在Python社区非常受欢迎。

这是任何管理程序的工作方式(不要与supervisord混淆):管理程序本身是一项服务(由另一项服务控制,例如systemd,initd等),它运行在其配置文件中指定的程序。如果程序退出或有问题,主管将重新生成它。

如果您在码头生态系统中,它会更简单,因为docker可以成为您的主管。

答案 1 :(得分:0)

多个选项:

出于开发目的,我建议使用一个docker容器(https://docker.com)。出于生产目的,最简洁的方法是:使用系统的打包版本(假设您使用的是GNU / Linux盒)以及专用的systemd单元。

例如,在Debian上:

apt-get update && apt-get install redis

然后编辑redis.conf,然后启动它:

systemctl start redis

启用它(==启动时启动redis)

systemctl enable redis
相关问题