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