必须在heroku上手动启动工作人员?

时间:2016-07-22 07:57:16

标签: python django heroku celery django-celery

在我的Procfile中,我有以下内容:

worker: cd appname && celery -A appname worker -l info  --app=appname.celery_setup:app

但是,当我的应用程序提交任务时它永远不会发生,但我认为芹菜工作者至少有点工作,因为

heroku logs --app appname
经常给我其中一个:

2016-07-22T07:53:21+00:00 app[heroku-redis]: source=REDIS sample#active-connections=14 sample#load-avg-1m=0.03 sample#load-avg-5m=0.09 sample#load-avg-15m=0.085 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664884.0kB sample#memory-free=13458244.0kB sample#memory-cached=187136kB sample#memory-redis=566800bytes sample#hit-rate=0.17778 sample#evicted-keys=0

另外,当我通过运行

打开bash时
heroku run bash --app appname

然后输入

cd appname && celery -A appname worker -l info  --app=appname.celery_setup:app

它立即告诉我已收到任务然后执行它。我希望在没有我必须手动登录并执行命令的情况下实现这一点 - 这可能吗?我需要在heroku上使用付费帐户吗?

1 个答案:

答案 0 :(得分:1)

我明白了。结果你也必须做

heroku ps:scale worker=1 --app appname

否则你实际上不会经营一名工人。