我在Heroku上托管了Django应用程序,但由于一些限制,我从Heroku迁移到了基于云的服务器。我在Python中运行后台任务时遵循了这个tutorial。除了我必须手动运行python worker.py
来启动工作进程之外,一切都运行得很好。在
在Heroku上,我们可以使用Procfile在应用程序启动时运行进程,但现在我在运行ubuntu14.04的基于云的服务器上。那么Procfile的替代方案是什么呢?在
工人.py
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()
最后我用了暴发户。我使用
sudo nano \etc\init\rqworker.conf
创建了一个新的配置文件rqworker.py
,代码如下:然后我刚刚启动了服务
sudo service rqworker start
,现在我的工作进程正在后台运行。在使用流程经理,如upstart、systemd或supervisor。在
相关问题 更多 >
编程相关推荐