This documentation is out of date. The project continues under: https://rocketry.readthedocs.io
No time to read? Get started then.
Red Engine is a modern scheduling framework for Python applications. It is simple, clean and extensive.
Simple: productive and easy to set up
Clean: Scheduling is just plain English
Robust: Well tested and production ready
Extensive: Has a lot of built-in features
Customizable: Designed to be modified
Powerful scheduling syntax
Modifiable session also in runtime
It looks like this:
from redengine import RedEngine app = RedEngine() @app.task('daily') def do_things(): ... if __name__ == "__main__": app.run()
Why Red Engine?#
There are a lot of options for scheduler:
Red Engine provides more features than Crontab and APScheduler and it is much easier to use than Airflow. Red Engine has by far the cleanest syntax compared to the alternatives and it is the most productive.
Red Engine is not meant to be the scheduler for enterprise pipelines, unlike Airflow, but it is fantastic to power your Python applications.
Here is a demonstration of more advanced case:
from redengine import RedEngine from redengine.args import Return, Arg, FuncArg app = RedEngine() @app.cond('is foo') def is_foo(): "This is a custom condition" ... return True @app.task('daily & is foo', execution="process") def do_daily(): "This task runs once a day and runs on separate process" ... return ... @app.task("after task 'do_daily'") def do_after(arg1=Return('do_daily')): """This task runs after 'do_daily' and it has its the return argument as an input""" ... if __name__ == "__main__": app.run()
Just install the library:
pip install redengine
- Quick start
- Basic Tutorial
- Intermediate Tutorial
- Advanced Guide
- Condition Syntax
- How it works?
- Version history