aide-de-camp

Crates.ioaide-de-camp
lib.rsaide-de-camp
version0.2.0
sourcesrc
created_at2022-05-22 19:05:35.506083
updated_at2022-12-18 20:05:35.095176
descriptionAide-De-Camp is a backend agnostic delayed job queue.
homepage
repositoryhttps://github.com/zero-assumptions/aide-de-camp
max_upload_size
id591391
size40,207
Andrey Snow (andoriyu)

documentation

https://docs.rs/aide-de-camp

README

Aide-De-Camp

💂 Aide-De-Camp

Install | Usage | Docs


Built with ❤️ by Zero Assumptions

Aide-De-Camp is a backend agnostic delayed job queue. Very similar to girl_friday from the Ruby world.

Notable features:

  • Asynchronous. Built from the ground-up using async/await for maximum concurrency.
  • Backend agnostic1. This crate won't force you to run any additional software you don't want to.
  • Flexible scheduling. Schedule your job to run right now, in time relative to now or at a specific future time.
  • Binary Payloads. Job payloads serialized with bincode for maximum speed and space efficiency.
  • Concurrency limits. Specify desired concurrency for each runner.
  • Job Router. Run as many job types as you want and limit which runners can process which jobs.
  • Cross Platform. Runs anywhere rust has standard lib.
  • Traced. All important functions are instrumented.

Getting started

Install

Pick a backend1 that suits you and add following to your Cargo.toml:

# Cargo.toml

[dependencies]
aide-de-camp = "0.1.0"
aide-de-camp-sqlite = "0.1.0"  # Or any other avaiable backend

Usage

aide-de-camp-sqlite has pretty detailed example of how to use this crate.

Components

  • core. Traits and error types meant to be used by aide-de-camp ecosystem.
  • runner. Optional module (runner feature enabled by default) that contains default implementations of runner, job router and types required for their work.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Footnotes

  1. Currently, only SQLite supported (aide-de-camp-sqlite), but PostgreSQL backend is coming soon! 2

Commit count: 0

cargo fmt