【问题标题】:Have to manually start worker on heroku?必须在heroku上手动启动worker?
【发布时间】:2016-11-26 01:05:24
【问题描述】:

在我的 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 上使用付费帐户吗?

【问题讨论】:

    标签: python django heroku celery django-celery


    【解决方案1】:

    我想通了。原来你也必须这样做

    heroku ps:scale worker=1 --app appname
    

    否则你实际上不会运行工人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 2014-06-07
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 2014-12-24
      相关资源
      最近更新 更多