Compare commits

..

4 Commits

Author SHA1 Message Date
cuddle-please
76de1985aa chore(release): 0.3.0
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-12-13 22:30:28 +00:00
991fd5dd83
fix: test can now run at least 2 times, initial and then via. delay
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
2024-12-13 23:30:07 +01:00
84820dcc82
fix: with child token as well
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: kjuulh <contact@kjuulh.io>
2024-12-13 23:28:44 +01:00
55498adffd
feat: allow job to start immediately
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: kjuulh <contact@kjuulh.io>
2024-12-13 23:26:18 +01:00
2 changed files with 23 additions and 2 deletions

View File

@ -6,11 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.3.0] - 2024-11-17
## [0.3.0] - 2024-12-13
### Added
- allow job to start immediately
- rename and publish
### Fixed
- test can now run at least 2 times, initial and then via. delay
- with child token as well
## [0.2.0] - 2024-08-02
### Added

View File

@ -34,6 +34,22 @@ where
async move {
let mut wait = interval;
let start = std::time::Instant::now();
tracing::debug!("running job");
let child_token = cancellation_token.child_token();
if let Err(e) = drifter.execute(child_token).await {
tracing::error!("drift job failed with error: {}, stopping routine", e);
cancellation_token.cancel();
}
let elapsed = start.elapsed();
wait = interval.saturating_sub(elapsed);
tracing::debug!(
"job took: {}ms, waiting: {}ms for next run",
elapsed.as_millis(),
wait.as_millis()
);
loop {
let child_token = cancellation_token.child_token();
@ -187,7 +203,7 @@ mod tests {
assert!(token.is_cancelled());
let counter = drifter.counter.lock().unwrap();
assert_eq!(*counter, 1);
assert_eq!(*counter, 2);
Ok(())
}