Compare commits
4 Commits
b2c426400b
...
76de1985aa
Author | SHA1 | Date | |
---|---|---|---|
|
76de1985aa | ||
991fd5dd83 | |||
84820dcc82 | |||
55498adffd |
10
CHANGELOG.md
10
CHANGELOG.md
@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [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
|
||||
|
@ -3,7 +3,7 @@ members = ["crates/*"]
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
|
||||
[workspace.dependencies]
|
||||
drift = { path = "crates/drift" }
|
||||
|
@ -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(())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user