Compare commits

..

1 Commits

Author SHA1 Message Date
cuddle-please
368720bb3c chore(release): 0.3.2
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-03-27 12:32:03 +00:00
4 changed files with 18 additions and 25 deletions

View File

@ -6,11 +6,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.3.3] - 2025-03-27
### Added
- redo main part
## [0.3.2] - 2025-03-27 ## [0.3.2] - 2025-03-27
### Fixed ### Fixed

2
Cargo.lock generated
View File

@ -249,7 +249,7 @@ dependencies = [
[[package]] [[package]]
name = "nodrift" name = "nodrift"
version = "0.3.2" version = "0.3.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",

View File

@ -3,7 +3,7 @@ members = ["crates/*"]
resolver = "2" resolver = "2"
[workspace.package] [workspace.package]
version = "0.3.3" version = "0.3.2"
[workspace.dependencies] [workspace.dependencies]
drift = { path = "crates/drift" } drift = { path = "crates/drift" }

View File

@ -35,7 +35,22 @@ where
let drifter = drifter.clone(); let drifter = drifter.clone();
async move { async move {
let mut wait = Duration::default(); 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();
let mut wait = interval.saturating_sub(elapsed);
tracing::debug!(
"job took: {}ms, waiting: {}ms for next run",
elapsed.as_millis(),
wait.as_millis()
);
loop { loop {
let child_token = cancellation_token.child_token(); let child_token = cancellation_token.child_token();
@ -213,23 +228,6 @@ mod tests {
assert!(logs_contain("running job")); assert!(logs_contain("running job"));
assert!(logs_contain("job took:")); assert!(logs_contain("job took:"));
Ok(())
}
#[tokio::test]
#[traced_test]
async fn test_calls_trace_on_start_and_end_long() -> anyhow::Result<()> {
let token = schedule(Duration::from_millis(100), || async {
tokio::time::sleep(std::time::Duration::from_millis(50)).await;
Ok(())
});
tokio::time::sleep(Duration::from_millis(500)).await;
assert!(!token.is_cancelled());
assert!(logs_contain("running job"));
assert!(logs_contain("job took:"));
Ok(()) Ok(())
} }
} }