1

I'm sure I'm not the only person using HireFire to manage worker dynos.

My workers send emails using Celery tasks and Redis.

When HireFire is off, everything works great. I set the Dynos for Celery and CeleryBeat to 1 and the tasks all succeed.

When I turn HireFire on, jobs are getting lost in the Queue.

I found this article on the Ruby library to handle exceptions caused by dyno restarts:

https://devcenter.heroku.com/articles/queuing-ruby-resque#job-termination

Does anyone know of a similar Python version, or another source of information?

https://github.com/jezdez/hirefire/

This is the Python library for HireFire on Github. I've looked through it, but I'm not having any moments of clarity.

https://github.com/AnthonyBRoberts/NNS

This is my repo on Github. There's no settings files in the repo (for obvious reasons). Here's the relevant settings:

HIREFIRE_PROCS = ["procs.CelerydProc", "procs.CelerybeatProc"]

MIDDLEWARE_CLASSES = (
    'hirefire.contrib.django.middleware.HireFireMiddleware',
    ...
)

INSTALLED_APPS = (
...
'django_ses',
'djcelery',
...
)

BROKER_URL = os.getenv('REDISTOGO_URL','redis://localhost:6379')

import djcelery
djcelery.setup_loader()

Any thoughts are welcome, and let me know what additional information would be useful.

Thanks,

Anthony

Anthony Roberts
  • 1,971
  • 1
  • 19
  • 34

0 Answers0