apalis_core/backend/persistence/
state.rs1use std::{collections::VecDeque, fmt::Debug};
2
3use crate::backend::future::BoxSyncFuture;
4
5#[non_exhaustive]
7pub enum State<Task, Error> {
8 NotBootstrapped,
10
11 Ready,
13
14 RegisterWorker(BoxSyncFuture<Result<(), Error>>),
16
17 HeartBeat(BoxSyncFuture<Result<(), Error>>),
19
20 ProcessEvents(BoxSyncFuture<Result<(), Error>>),
22
23 Fetch(BoxSyncFuture<Result<Vec<Task>, Error>>),
25
26 ReenqueueOrphaned(BoxSyncFuture<Result<u64, Error>>),
28
29 Buffered(VecDeque<Task>),
31
32 Dead,
34}
35
36impl<T, E> Debug for State<T, E> {
37 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
38 match self {
39 Self::NotBootstrapped => write!(f, "NotBootstrapped"),
40 Self::Ready => write!(f, "Ready"),
41 Self::RegisterWorker(_) => write!(f, "RegisterWorker"),
42 Self::HeartBeat(_) => write!(f, "HeartBeat"),
43 Self::ProcessEvents(_) => write!(f, "ProcessEvents"),
44 Self::Fetch(_) => write!(f, "Fetch"),
45 Self::ReenqueueOrphaned(_) => write!(f, "ReenqueueOrphaned"),
46 Self::Buffered(buffer) => write!(f, "Buffered({} items)", buffer.len()),
47 Self::Dead => write!(f, "Dead"),
48 }
49 }
50}