Created by: fridex
What is this Python project?
An advanced task flow management on top of famous Celery project (a distributed task queue). It allows one to create advanced task flows by creating YAML configuration files which state dependencies between tasks, fallback tasks (run on task failures) or run whole flows (transitively or even recursively). Dependencies between tasks or flows are graphs (without any limitation to DAG). It also enables one to use different storage or database adapters or running only certain tasks in a flow definition - system will automatically compute dependencies between tasks (which tasks needs to be run in order to run desired tasks). Selinon comes with a set of prepared storage/database adapters and support for tracing system actions (easy to integrate with Sentry or other monitoring systems) or logging ELK (Elasticsearch, logstash, Kibana) stack to provide ready-to-be-used system in clusters (using Kubernetes, OpenShift or others). A built in simutor can run your flows by executing CLI.
More info can be found in docs and repo.
What's the difference between this Python project and similar ones?
Celery is limited when it comes to modelling more advanced task flows (dependencies between tasks). Selinon offers fine-granted control on how your task flow will work, how it will perform and how it will be traced in distributed environment.
--
Anyone who agrees with this pull request could vote for it by adding a