run_workers no longer working

Hi all,

I am running kegbot version 1.2.3 and I just realized my run_workers are no longer working. When I try to run this manually I get the following:

2015-11-17 19:47:47,063 INFO (pykeg.util.runner) Starting commands from pid=36668
2015-11-17 19:47:47,153 INFO (pykeg.util.runner) Launching command: celery_stats: celery -A pykeg worker -l info -Q stats --concurrency=1 --hostname="stats@%h"
2015-11-17 19:47:47,158 INFO (pykeg.util.runner) Started celery_stats (pid=36671)
2015-11-17 19:47:47,160 INFO (pykeg.util.runner) Launching command: celery_beat: celery -A pykeg beat --pidfile= -l info
2015-11-17 19:47:47,164 INFO (pykeg.util.runner) Started celery_beat (pid=36672)
2015-11-17 19:47:47,166 INFO (pykeg.util.runner) Launching command: celery_default: celery -A pykeg worker -l info -Q default --hostname="default@%h"
2015-11-17 19:47:47,171 INFO (pykeg.util.runner) Started celery_default (pid=36673)
2015-11-17 19:47:47,174 INFO (pykeg.util.runner) Watching 3 processes.
2015-11-17 19:47:48,182 INFO (pykeg.util.runner) Process “celery_beat” exited with returncode 0
2015-11-17 19:47:48,185 INFO (pykeg.util.runner) Abort called, killing remaining processes …
2015-11-17 19:47:48,187 INFO (pykeg.util.runner) Killing celery_stats (pid=36671)
2015-11-17 19:47:48,189 INFO (pykeg.util.runner) Killing celery_default (pid=36673)
2015-11-17 19:47:48,191 INFO (pykeg.util.runner) Waiting for celery_stats to exit (pid=36671) …
2015-11-17 19:47:48,747 INFO (pykeg.util.runner) … done.
2015-11-17 19:47:48,748 INFO (pykeg.util.runner) Waiting for celery_beat to exit (pid=36672) …
2015-11-17 19:47:48,750 INFO (pykeg.util.runner) … done.
2015-11-17 19:47:48,751 INFO (pykeg.util.runner) Waiting for celery_default to exit (pid=36673) …
2015-11-17 19:47:48,752 INFO (pykeg.util.runner) … done.
2015-11-17 19:47:48,754 INFO (pykeg.util.runner) All processes exited.

If I run the celery beat command separately I get:
$ celery -A pykeg beat --pidfile= -l info
celery beat v3.1.19 (Cipater) is starting.
__ - … __ - _
Configuration ->
. broker -> redis://localhost:6379/0
. loader -> celery.loaders.app.AppLoader
. scheduler -> pykeg.util.celery.RedisScheduler
. db -> celerybeat-schedule
. logfile -> [stderr]@%INFO
. maxinterval -> now (0s)

and the exit code is 0.

But if I run it without the “-A pykeg” and feed it the same broker I get:

$ celery beat --pidfile= -l info --broker='redis://localhost:6379/0’
celery beat v3.1.19 (Cipater) is starting.
__ - … __ - _
Configuration ->
. broker -> redis://localhost:6379/0
. loader -> celery.loaders.default.Loader
. scheduler -> celery.beat.PersistentScheduler
. db -> celerybeat-schedule
. logfile -> [stderr]@%INFO
. maxinterval -> now (0s)
[2015-11-17 15:14:59,246: INFO/MainProcess] beat: Starting…

and it doesn’t stop unless I Control-C out of it.

Any guidance on how to troubleshoot? Any and all assistance is greatly appreciated.

I was able to get this issue resolved and I wanted to share the solution in the event it might help someone else and prevent a tremendous amount of hair-pulling. It actually turned out to be pretty simple:

  1. activate your server virtualenv
  2. pip install -U celery
  3. pip install -U redis

The step for celery may not be necessary, but this is the order in which I performed the activities so I included it.