Unlike the alternatives, Rocketry’s scheduler is statement-based. Rocketry natively supports the same scheduling strategies as the other options, including cron and task pipelining, but it can also be arbitrarily extended using custom scheduling statements.
That’s pretty useful! I used to struggle to shove conditionals in to my cron jobs. Example time:
``` from rocketry.conds import daily, time_of_week from pathlib import Path
@app.cond() def file_exists(file): return Path(file).exists()
@app.task(daily.after("08:00") & file_exists("myfile.csv")) def do_work(): ...
```
Discuss on Changelog News