2016-08-02 48 views
0

在我的本地环境中,我使用芹菜作为日程安排任务,它在当地系统中工作我使用redis作为工作人员 现在我想在heroku服务器中配置django芹菜 我试图使用heroku -redis在Heroku的应用插件如何在heroku服务器中配置django-芹菜

在我的settings.py 芹菜STUFF

#BROKER_URL = 'redis://localhost:6379' 
#BROKER_URL = 'os.environ['REDIS_URL']' 
#BROKER_URL = os.environ.get('REDIS_URL', 'redis://localhost:6379') 
r = redis.from_url(os.environ.get("REDIS_URL")) 
BROKER_URL = redis.from_url(os.environ.get("REDIS_URL")) 
#CELERY_RESULT_BACKEND = 'redis://localhost:6379' 
#CELERY_RESULT_BACKEND = 'os.environ['REDIS_URL']' 
CELERY_RESULT_BACKEND = os.environ.get('REDIS_URL') 
CELERY_ACCEPT_CONTENT = ['application/json'] 
CELERY_TASK_SERIALIZER = 'json' 
CELERY_RESULT_SERIALIZER = 'json' 
CELERY_TIMEZONE = 'Canada/Eastern' 

redis_url = urlparse.urlparse(os.environ.get('REDIS_URL')) 
CACHES = { 
"default": { 
"BACKEND": "redis_cache.RedisCache", 
"LOCATION": "{0}:{1}".format(redis_url.hostname, redis_url.port), 
"OPTIONS": { 
"PASSWORD": redis_url.password, 
"DB": 0, 
} 
} 
} 

添加这个东西在我procfile我加入

web: gunicorn bizbii.wsgi --log-file - 
worker : celery workder -A tasks.app -l INFO 
python manage.py celeryd -v 2 -B -s celery -E -l INFO 

但仍然任务不会运行 后,我日志运行命令,使其返回

2016-07-30T08:53:19+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.07 sample#load-avg-5m=0.075 sample#load-avg-15m=0.07 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664876.0kB sample#memory-free=13426732.0kB sample#memory-cached=460140kB sample#memory-redis=299616bytes sample#hit-rate=1 sample#evicted-keys=0 

与此命令 Heroku的运行bash的-a bizbii2

和运行创造赛道后,下面的命令 蟒蛇manage.py celeryd -v 2 -B -s芹菜-E -l INFO

因此它返回错误,如 [2016-08-03 08:23:26,506:ERROR/Beat]节拍:连接错误:[Errno 111]连接被拒绝。在8.0秒内再次尝试... [2016-08-03 08:23:26,843:ERROR/MainProcess] consumer:无法连接到amqp:// guest:**@127.0.0.1:5672 //:[Errno 111 ] 拒绝连接。 在8.00秒再试...

请给我建议,我们如何Heroku的服务器

回答

0

上部署芹菜我有这个确切的问题。我更新了我的procfile下面的行和错误消失:

worker: celery -A TASKFILE worker -B --loglevel=info 

替换为TASKFILE例如:proj.celeryproj.tasks。这取决于你把任务放在哪里。