Rocketry VS Alternatives

There are other alternatives for scheduling as well. This section contains comparisons between Rocketry and other scheduling tools.

Features unique for Rocketry:

  • Statement-based scheduling: Rocketry’s condition system is unique and it is simple to use, elegant and easy to extend. It is capable of addressing more complex scheduling needs than the standard scheduling paradigm.

  • Time periods: Rocketry has sophisticated and robust time period system.

  • Parametrization: Rocketry’s parameter system enables passing the output of a task as the input for another task.

  • No assumptions: The framework does not dictate how to structure your project or how to use the framework. The log records can be directed anywhere, the framework can be integrated with other frameworks and you decide how you form the tasks.

Rocketry vs Crontab

Crontab is a scheduler for Unix-like operating systems. It is light weight and it is able to run tasks (or jobs) periodically, ie. hourly, weekly or on fixed dates.

When Rocketry might be a better choice:

  • You are building a system and not just running individual scripts

  • You need task pipelining

  • You need more complex and custom scheduling

  • You are not familiar Unix-Linux

  • You work with Windows

When Crontab might be a better choice:

  • If you need a truly light weight solution

  • You are not familiar with Python

  • You only want to run scripts independently at given periods

Note

Rocketry also has fully functioning cron condition.

Rocketry vs APScheduler

APScheduler is a relatively simple scheduler library for Python. It provides Cron-style scheduling and some interval based scheduling.

When Rocketry might be a better choice:

  • You are building an automation system

  • You need more complex and customized scheduling

  • You need to pipeline tasks

When APScheduler might be a better choice:

  • You wish to have the tasks stored in a database (and not in Python code)

Note

In Rocketry, you could make a startup task that generates the rest of the tasks from a database as well.

Rocketry vs Celery

Celery is a task queue system meant for distributed execution and scheduling background tasks for web back-ends.

When Rocketry might be a better choice:

  • You are building an automation system

  • You need more complex and customized scheduling

  • You work with Windows

When Celery might be a better choice:

  • You are running background tasks for web servers

  • You need higher performance

  • You need distributed execution

Note

Celery works via task queues but such mechanism could be implemented to Rocketry as well by creating a condition that is true only for the task next in the queue and false for others. Then when the first task in the queue has been started, it is dropped from the queue.

Rocketry vs Airflow

Airflow is a a workflow management system used heavily in data pipelines. It has a scheduler and a built-in monitor.

When Rocketry might be a better choice:

  • You need more complex scheduling

  • You work with Windows

  • You need something that is easy to set up and quick to get produtive with

  • You are building an application

  • You want more customization

When Airflow might be a better choice:

  • You are building standard data pipelines

  • You would like to have more out-of-the-box

  • You need distributed execution

  • You work in data engineering

Note

Rocketry handles time-related scheduling, task pipelining and custom scheduling via the same condition mechanism. Airflow implements these via separate concepts: schedulers, pipelines and sensors.