10 releases

0.0.10 Aug 16, 2022
0.0.9 Aug 16, 2022
0.0.3 Jul 25, 2022

#27 in #background-jobs

MIT/Apache

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