Red Engine
Contents
Red Engine#
NOTE: Red Engine has been renamed as Rocketry
Warning
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.
Key features:
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
Core functionalities:
Powerful scheduling syntax
Task parallelization
Task parametrization
Task pipelining
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:
Crontab
APScheduler
Airflow
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()
Interested?#
Just install the library:
pip install redengine
There is much more to offer. See quick start And the rest tutorials.