必须在 heroku 上手动启动 worker 吗?
Have to manually start worker on heroku?
在我的 Procfile 中有以下内容:
worker: cd appname && celery -A appname worker -l info --app=appname.celery_setup:app
然而,当我的应用程序提交任务时,它永远不会发生,但我认为 celery worker 至少在某种程度上工作,因为
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 的付费帐户才能做到这一点吗?
我明白了。结果你还必须做
heroku ps:scale worker=1 --app appname
否则你实际上不会运行工人。
在我的 Procfile 中有以下内容:
worker: cd appname && celery -A appname worker -l info --app=appname.celery_setup:app
然而,当我的应用程序提交任务时,它永远不会发生,但我认为 celery worker 至少在某种程度上工作,因为
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 的付费帐户才能做到这一点吗?
我明白了。结果你还必须做
heroku ps:scale worker=1 --app appname
否则你实际上不会运行工人。