Selinon is a project that is based on popular project Celery. Selinon gives you a power to define flows and dependencies in flows in a distributed environments, schedule tasks based on results of workers, their success or any external events.
Selinon is an advanced flow management above Celery project (an asynchronous distributed task queue) written in Python3, that allows you to dynamically schedule tasks based on results of previous tasks, group tasks into flows, schedule flows from other flows, store results of tasks in your storages and databases transparently, validate results against defined JSON schemas, track flow progress via the build-in tracing mechanism, complex per-task or per-flow failure handling with fallback tasks or fallback flows. All of this can be done in a fully distributed environments orchestrated by OpenShift, Kubernetes or any other orchestration tool.
The project is actively developed and hosted at https://github.com/selinon.