10 releases
0.0.10 | Aug 16, 2022 |
---|---|
0.0.9 | Aug 16, 2022 |
0.0.3 | Jul 25, 2022 |
#27 in #background-jobs
88KB
2K
SLoC
later
A distributed background job manager and runner for Rust. This is currently in PoC stage.
Set up
Look at the documentations for details. In general the one time setup involves:
- Import
later
and required dependencies - Define some types to use as a payload to the background jobs
- Generate the stub
- Use the generated code to bootstrap the background job server
Features
Fire and forget jobs
Fire and forget jobs are executed only once and executed by an available worker almost immediately.
Continuations
One or many jobs are chained together to create an workflow. Child jobs are executed only when parent job has been finished.
Delayed jobs
Just like fire and forget jobs that starts after a certain interval.
Recurring jobs
(wip)
Run recurring jobs based on cron schedule.
- To fix: to delete recurring job.
Project status
This is PoC at this moment. Upcoming features are
- Multiple storage backend (redis, postgres)
- Continuation
- Delayed Jobs
- Recurring jobs
- Dashboard
- Use storage backend for scheduling (to remove dependency to RabbitMQ)
- Ergonomic API
Dependencies
~18–33MB
~547K SLoC