mirror of
https://git.asonix.dog/asonix/background-jobs.git
synced 2024-11-21 19:40:59 +00:00
Expose next_queue, add docs
This commit is contained in:
parent
0df808e97d
commit
799391811c
2 changed files with 9 additions and 2 deletions
|
@ -179,6 +179,7 @@ impl JobInfo {
|
|||
self.id
|
||||
}
|
||||
|
||||
/// How long (in milliseconds) before this job is considered failed and can be requeued
|
||||
pub fn timeout(&self) -> i64 {
|
||||
self.timeout
|
||||
}
|
||||
|
@ -191,13 +192,18 @@ impl JobInfo {
|
|||
}
|
||||
}
|
||||
|
||||
/// If the job is queued to run in the future, when is that
|
||||
pub fn next_queue(&self) -> Option<DateTime<Utc>> {
|
||||
self.next_queue
|
||||
}
|
||||
|
||||
pub(crate) fn increment(&mut self) -> ShouldStop {
|
||||
self.updated();
|
||||
self.retry_count += 1;
|
||||
self.max_retries.compare(self.retry_count)
|
||||
}
|
||||
|
||||
fn next_queue(&mut self) {
|
||||
fn set_next_queue(&mut self) {
|
||||
let now = Utc::now();
|
||||
|
||||
let next_queue = match self.backoff_strategy {
|
||||
|
@ -231,7 +237,7 @@ impl JobInfo {
|
|||
|
||||
if should_retry {
|
||||
self.pending();
|
||||
self.next_queue();
|
||||
self.set_next_queue();
|
||||
}
|
||||
|
||||
should_retry
|
||||
|
|
|
@ -136,6 +136,7 @@ impl std::fmt::Display for JobStatus {
|
|||
|
||||
#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd, thiserror::Error)]
|
||||
#[error("Invalid job status")]
|
||||
/// The error generated when parsing a job's status if it's not 'Pending' or 'Running'
|
||||
pub struct JobStatusError;
|
||||
|
||||
impl std::str::FromStr for JobStatus {
|
||||
|
|
Loading…
Reference in a new issue