首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在应用程序启动时运行python-rq辅助进程

在应用程序启动时运行python-rq辅助进程
EN

Stack Overflow用户
提问于 2016-08-14 23:19:24
回答 2查看 2.8K关注 0票数 0

我在Heroku上托管了Django应用程序,但由于一些限制,我从Heroku转移到了基于云的服务器。我遵循这个教程在Python中运行后台任务。一切都运行良好,除了我必须手动运行python worker.py来启动辅助进程之外。

在Heroku上,我们可以在应用程序启动时使用Procfile来运行进程,但是现在我在一个基于云的服务器上运行ubuntu14.04。那么,Procfile的替代方案是什么呢?

worker.py

代码语言:javascript
复制
import os

import redis
from rq import Worker, Queue, Connection

listen = ['high', 'default', 'low']

redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')

conn = redis.from_url(redis_url)

if __name__ == '__main__':
   with Connection(conn):
       worker = Worker(map(Queue, listen))
       worker.work()
EN

回答 2

Stack Overflow用户

发布于 2016-08-15 08:41:20

我最终使用了暴发户。我用下面的代码使用rqworker.py使用sudo nano \etc\init\rqworker.conf创建了一个新的配置文件:

代码语言:javascript
复制
description "Job queues for directory"

start on runlevel [2345]
stop on runlevel [!2345]

respawn
setuid myuser
setgid www-data

exec python3.5 worker.py

然后我刚刚启动了服务sudo service rqworker start,现在我的工作进程正在后台运行。

票数 2
EN

Stack Overflow用户

发布于 2016-08-15 08:33:27

使用流程管理器,如upstart、systemd或主管。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38947480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档