2016-08-02 35 views
0

In meiner lokalen Umgebung habe ich Sellerie für Zeitplan Aufgabe verwendet es funktioniert in lokalen System ich wieder verwendet als Arbeiter jetzt möchte ich Django Sellerie in Heroku Server konfigurieren Ich versuchte Heroku zu verwenden -redis Add-ons in Heroku AppSo konfigurieren Sie Django-Sellerie in Heroku-Server

hinzugefügt dieses Zeug in meinem settings.py SELLERIE 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, 
} 
} 
} 

nach meiner procfile i hinzugefügt

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 

aber nach wie vor Aufgabe nicht ausgeführt danach i-Befehl für log laufen, damit es mit diesem Befehl Heroku laufen bash -a bizbii2

und führen Sie folgenden Befehl Python

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 

nach diesem erstellen dyno zurückkehren manage.py selleryd -v 2 -Bsellerie -E-IN INFO

so gibt es Fehler wie [2016-08-03 08: 23: 26,506: ERROR/Beat] Beat: Verbindungsfehler: [Errno 111] Verbindung abgelehnt. Erneut versuchen in 8,0 Sekunden ... [2016-08-03 08: 23: 26,843: FEHLER/MainProcess] Verbraucher: Kann keine Verbindung zu amqp: // Gast: **@127.0.0.1: 5672 //: [Errno 111 ] Verbindung abgelehnt. Der Versuch, wieder in 8,00 Sekunden ...

Bitte geben Sie mir Vorschlag, wie wir Sellerie auf Heroku Server

Antwort

0

Ich hatte genau dieses Problem bereitstellen. Ich aktualisierte meine procfile mit der folgenden Zeile und der Fehler ist weg:

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

ersetzen TASKFILE mit zum Beispiel: proj.celery oder proj.tasks. Dies hängt davon ab, wo Sie die Aufgaben platzieren.