2016-08-02 47 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。這取決於你把任務放在哪裏。