Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku本地-芹菜击败了Redis_Heroku_Redis_Python 3.4_Celerybeat - Fatal编程技术网

Heroku本地-芹菜击败了Redis

Heroku本地-芹菜击败了Redis,heroku,redis,python-3.4,celerybeat,Heroku,Redis,Python 3.4,Celerybeat,我尝试使用Heroku local启动芹菜节拍流程,但收效甚微。我可以启动辅助进程,但当我切换到beat时,它就会退出 Procfile web: gunicorn app.wsgi --preload --timeout 15 worker: celery -A app worker scheduler: celery beat -A app foreman start scheduler 14:59:18 scheduler.1 | started with pid 3030 14:59

我尝试使用Heroku local启动芹菜节拍流程,但收效甚微。我可以启动辅助进程,但当我切换到beat时,它就会退出

Procfile

web: gunicorn app.wsgi --preload --timeout 15 
worker: celery -A app worker
scheduler: celery beat -A app
foreman start scheduler
14:59:18 scheduler.1 | started with pid 3030
14:59:18 scheduler.1 | celery beat v3.1.20 (Cipater) is starting.
14:59:19 scheduler.1 | System check identified some issues:
14:59:19 scheduler.1 | 
14:59:19 scheduler.1 | WARNINGS:
14:59:19 scheduler.1 | x.xx.xxx: (fields.W340) null has no effect on ManyToManyField.
14:59:19 scheduler.1 | x.xx.xxx: (fields.W340) null has no effect on ManyToManyField.
14:59:19 scheduler.1 | __    -    ... __   -        _
14:59:19 scheduler.1 | Configuration ->
14:59:19 scheduler.1 |     . broker -> redis://localhost:6379//
14:59:19 scheduler.1 |     . loader -> celery.loaders.app.AppLoader
14:59:19 scheduler.1 |     . scheduler -> celery.beat.PersistentScheduler
14:59:19 scheduler.1 |     . db -> celerybeat-schedule
14:59:19 scheduler.1 |     . logfile -> [stderr]@%INFO
14:59:19 scheduler.1 |     . maxinterval -> now (0s)
14:59:20 scheduler.1 | exited with code 0
14:59:20 system      | sending SIGTERM to all processes
芹菜配置

# Configure Celery
BROKER_BACKEND = 'redis'

# set the broker and result backend connection info
BROKER_URL = get_env_variable('REDIS_URL')
CELERY_RESULT_BACKEND = get_env_variable('REDIS_URL')

CELERY_RESULT_PERSISTENT = True
CELERY_TASK_RESULT_EXPIRES = 43200  # 12 hours
CELERY_ENABLE_UTC = True
CELERY_ACCEPT_CONTENT = ['json', 'customjson']
CELERY_TASK_SERIALIZER = 'customjson'
CELERY_RESULT_SERIALIZER = 'customjson'
CELERY_TIMEZONE = 'US/Eastern'
CELERY_IMPORTS = ('v2.util_tasks',)
启动工人

heroku local worker
forego     | starting worker.1 on port 5100
worker.1   | System check identified some issues:
worker.1   |  
worker.1   | 
worker.1   | [2016-02-12 19:56:07,811: WARNING/MainProcess]     celery@vagrant-ubuntu-trusty-64 ready.
heroku local scheduler
forego     | starting scheduler.1 on port 5200
scheduler.1 | celery beat v3.1.20 (Cipater) is starting.
scheduler.1 | System check identified some issues:
scheduler.1 | __    -    ... __   -        _
scheduler.1 | 
系统问题必须归因于与此问题无关的字段

启动节拍调度程序

heroku local worker
forego     | starting worker.1 on port 5100
worker.1   | System check identified some issues:
worker.1   |  
worker.1   | 
worker.1   | [2016-02-12 19:56:07,811: WARNING/MainProcess]     celery@vagrant-ubuntu-trusty-64 ready.
heroku local scheduler
forego     | starting scheduler.1 on port 5200
scheduler.1 | celery beat v3.1.20 (Cipater) is starting.
scheduler.1 | System check identified some issues:
scheduler.1 | __    -    ... __   -        _
scheduler.1 | 
这次使用工头

web: gunicorn app.wsgi --preload --timeout 15 
worker: celery -A app worker
scheduler: celery beat -A app
foreman start scheduler
14:59:18 scheduler.1 | started with pid 3030
14:59:18 scheduler.1 | celery beat v3.1.20 (Cipater) is starting.
14:59:19 scheduler.1 | System check identified some issues:
14:59:19 scheduler.1 | 
14:59:19 scheduler.1 | WARNINGS:
14:59:19 scheduler.1 | x.xx.xxx: (fields.W340) null has no effect on ManyToManyField.
14:59:19 scheduler.1 | x.xx.xxx: (fields.W340) null has no effect on ManyToManyField.
14:59:19 scheduler.1 | __    -    ... __   -        _
14:59:19 scheduler.1 | Configuration ->
14:59:19 scheduler.1 |     . broker -> redis://localhost:6379//
14:59:19 scheduler.1 |     . loader -> celery.loaders.app.AppLoader
14:59:19 scheduler.1 |     . scheduler -> celery.beat.PersistentScheduler
14:59:19 scheduler.1 |     . db -> celerybeat-schedule
14:59:19 scheduler.1 |     . logfile -> [stderr]@%INFO
14:59:19 scheduler.1 |     . maxinterval -> now (0s)
14:59:20 scheduler.1 | exited with code 0
14:59:20 system      | sending SIGTERM to all processes
以前我们运行的是RabbitMq,而不是Redis。由于迁移到Heroku,我们不得不使用Redis。我是不是错过了芹菜和redis打得不好的地方

在工人身上使用
-B
标志将在嵌入调度程序的情况下启动流程,但不建议在生产中使用

代码为0的退出意味着一切正常,所以beat不应该继续运行吗