Forums

Celery

I am trying to get celery to run, it seems to have problems... is this impossible to do? I need to have a broker and result backend set and schedule the sending of emails.

Hi there, as I understand it the latest version of celery now requires you to run a broker like rabbitmq, and we don't support that. Older versions used to let you coordinate via the database, but they've dropped support for that now. SO I think your choices are, either revert to an old version of celery, or "roll your own" task scheduling system, eg using a database table to coordinate jobs...

In most cases you should use the Advanced Python Scheduler (APS) for this, and if you are running in Flask you should use the flask plugin for it. Rather than rolling your own.

Its good to run it under Flask because then you can easily create a UI for monitoring the tasks.

One other thing: APS is basically "cron for python" but it does other things as well. I think they maybe should have called it "PyCron" and then it would get better recognition :)

Interesting! It seems a bit odd that you'd run it inside an existing Flask application, though -- a typical website might have a number of separate Flask processes handling its requests, so that might suggest you'd have multiple APS instances running -- which I imagine wouldn't work out well.

Or have I misunderstood how it's meant to be used?