Crystal: A queue worker for recurring tasks
Crystal is a queue worker optimized for recurring tasks that need to be processed in an easy manageable way.
- A clear overview of which tasks are recurring (in a DB table).
- Graceful shutdown of tasks (needed for tasks that have an unknown running time).
- Manageable system resources; by setting the total number of tasks/processes allowed to be processed simultaneously.
- Configurable dependencies between tasks (order of running).
- Easily dedicate more or less resources to tasks.
- MySQL / MariaDB
Install via Composer
composer require dinoqqq/crystal
- Create a config.
- Create a TaskFactory, to define tasks.
- Create a Queuer, to schedule processes.
- Create cron entries to start the system and keep it running.
- Create a Controller, to catch the cron entries and start the heartbeat processes.
Development: running tests
To get the tests running follow these steps:
- Set the database settings in
- Run the migrations in
Read the extended README here.