Crate fusillade

Crate fusillade 

Source
Expand description

Batching system for HTTP requests with retry logic and concurrency control.

This crate provides ‘managers’ that accept submitted HTTP requests, and provides an API for checking their status over time. Behind the scenes, a daemon processes these requests in batches, retrying failed requests with exponential backoff and enforcing concurrency limits

Batching system with PostgreSQL storage and background daemon for processing requests.

Re-exports§

pub use daemon::Daemon;
pub use daemon::DaemonConfig;
pub use daemon::PriorityEndpointConfig;
pub use daemon::SlaThreshold;
pub use error::FusilladeError;
pub use error::Result;
pub use http::HttpClient;
pub use http::HttpResponse;
pub use http::MockHttpClient;
pub use http::ReqwestHttpClient;
pub use manager::postgres::PostgresRequestManager;
pub use manager::DaemonExecutor;
pub use manager::Storage;
pub use batch::*;
pub use request::*;

Modules§

batch
File and batch types for grouping requests.
daemon
Daemon for processing batched requests with per-model concurrency control.
error
Error types for the batching system.
http
HTTP client abstraction for making requests.
manager
Main traits for the batching system.
request
Request aggregate - domain model and state transitions.

Functions§

migrator
Get the fusillade database migrator