A distributed task queue written in Python that implements multiple message brokers and workers. Used to distribute tasks (discrete units of work or messages) to worker processes elsewhere on the host or the network. Generic communication protocol - there are protocol adapters for multiple other programming languages. Also implements webhooks.
Aims to be easy to use, with no required configuration files. This might be a case of "write your own simple daemon." Requires RabbitMQ or Redis as its message brokers.
https://docs.celeryproject.org/en/stable/
https://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html
An in-process scheduler for periodic jobs that uses the builder pattern for configuration. Schedule lets you run Python functions (or any other callable) periodically at pre-determined intervals using a simple, human-friendly syntax.
Maybe use this for exocortex_xmpp_bridge when I migrate off of SleekXMPP?
schedule.every().minute.at(":17").do(process_bridge_queues)
schedule.run_pending()
Lightweight asynchronous task execution service. Tries to replace RabbitMQ and Celery for lightweight (Python specifically, for some reason). Randomizes when retriesare done. POST base64 encoded URL to an endpoint and when you want it to run, and it'll hit that URL at the right time.