2016-07-22 15 views
0

In meinem procfile ich habe folgendes:Muss Arbeiter auf Heroku manuell starten?

worker: cd appname && celery -A appname worker -l info --app=appname.celery_setup:app 

Wenn jedoch meine Anwendung sendet eine Aufgabe es nie passiert, aber ich denke, der Sellerie Arbeiter zumindest eine Art Arbeits ist, weil

heroku logs --app appname 

jeder so gibt mir oft eine davon:

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 

auch wenn ich bash öffnen von

läuft
heroku run bash --app appname 

und geben Sie dann in

cd appname && celery -A appname worker -l info --app=appname.celery_setup:app 

Es sagt mir sofort die Aufgabe empfangen wurde, und führt sie dann aus. Ich möchte, dass dies passiert, ohne dass ich mich manuell anmelden und den Befehl ausführen muss - ist das möglich? Benötige ich einen bezahlten Account auf Heroku, um das zu tun?

Antwort

1

Ich fand es heraus. Stellt sich heraus, dass Sie auch tun müssen

heroku ps:scale worker=1 --app appname 

Oder sonst werden Sie nicht tatsächlich einen Arbeiter laufen.