diff --git a/Cargo.lock b/Cargo.lock index 222c847..4283e25 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1536,7 +1536,7 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scylla_models" -version = "0.1.33" +version = "0.1.35" dependencies = [ "chrono", "serde", @@ -1546,7 +1546,7 @@ dependencies = [ [[package]] name = "scylla_operations" -version = "0.1.33" +version = "0.1.35" dependencies = [ "async-trait", "chrono", @@ -1561,7 +1561,7 @@ dependencies = [ [[package]] name = "scylla_pg_core" -version = "0.1.33" +version = "0.1.35" dependencies = [ "async-trait", "chrono", @@ -1578,7 +1578,7 @@ dependencies = [ [[package]] name = "scylla_pg_js" -version = "0.1.33" +version = "0.1.35" dependencies = [ "chrono", "env_logger 0.11.8", @@ -1597,7 +1597,7 @@ dependencies = [ [[package]] name = "scylla_pg_lib" -version = "0.1.33" +version = "0.1.35" dependencies = [ "async-trait", "chrono", @@ -1622,7 +1622,7 @@ dependencies = [ [[package]] name = "scylla_pg_monitor" -version = "0.1.33" +version = "0.1.35" dependencies = [ "async-trait", "chrono", diff --git a/scylla_models/Cargo.toml b/scylla_models/Cargo.toml index 8097d4c..013fcb2 100644 --- a/scylla_models/Cargo.toml +++ b/scylla_models/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla_models" -version = "0.1.33" +version = "0.1.35" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/scylla_models/src/lib.rs b/scylla_models/src/lib.rs index b236065..645f4d1 100644 --- a/scylla_models/src/lib.rs +++ b/scylla_models/src/lib.rs @@ -12,7 +12,7 @@ pub struct AddTaskModel { pub queue: String, } -#[derive(Debug)] +#[derive(Debug, Default)] pub struct UpdateTaskModel { pub rn: String, pub operation: UpdateOperation, @@ -21,6 +21,7 @@ pub struct UpdateTaskModel { pub worker: Option, pub progress: Option, pub task_timeout_in_secs: Option, + pub metrics: Option, } #[derive(Debug)] @@ -41,11 +42,12 @@ impl Default for GetTaskModel { } } -#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] +#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq, Default)] #[serde(rename_all = "camelCase")] pub enum UpdateOperation { Yield, HeartBeat, + #[default] Status, Lease, Reset, @@ -129,6 +131,7 @@ pub struct Task { pub owner: Option, pub errors: Vec, pub history: Vec, + pub metrics: Option, } impl Default for Task { fn default() -> Self { @@ -145,6 +148,7 @@ impl Default for Task { owner: None, errors: Vec::default(), history: Vec::default(), + metrics: None, } } } @@ -177,10 +181,11 @@ mod tests { status: None, worker: None, task_timeout_in_secs: None, + metrics: None, }; assert_eq!( format!("{:?}", utm), - "UpdateTaskModel { rn: \"1.2.3\", operation: HeartBeat, status: None, error: None, worker: None, progress: None, task_timeout_in_secs: None }" + "UpdateTaskModel { rn: \"1.2.3\", operation: HeartBeat, status: None, error: None, worker: None, progress: None, task_timeout_in_secs: None, metrics: None }" ); } #[test] @@ -268,7 +273,7 @@ mod tests { ..Task::default() }; // debug trait - assert_eq!(format!("{:?}", t), format!("Task {{ rn: \"\", spec: Null, status: Ready, queue: \"\", progress: 0.0, priority: 0, created: {0:?}, updated: {0:?}, deadline: None, owner: None, errors: [], history: [] }}", t_now)); + assert_eq!(format!("{:?}", t), format!("Task {{ rn: \"\", spec: Null, status: Ready, queue: \"\", progress: 0.0, priority: 0, created: {0:?}, updated: {0:?}, deadline: None, owner: None, errors: [], history: [], metrics: None }}", t_now)); // default() let t = Task { created: t_now, @@ -290,6 +295,7 @@ mod tests { owner: None, errors: Vec::default(), history: Vec::default(), + metrics: None, } ) } diff --git a/scylla_operations/Cargo.toml b/scylla_operations/Cargo.toml index 127fc8f..f3653a9 100644 --- a/scylla_operations/Cargo.toml +++ b/scylla_operations/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla_operations" -version = "0.1.33" +version = "0.1.35" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/scylla_operations/src/task/tests.rs b/scylla_operations/src/task/tests.rs index 7abd6f0..02a06e9 100644 --- a/scylla_operations/src/task/tests.rs +++ b/scylla_operations/src/task/tests.rs @@ -31,9 +31,7 @@ fn update_task_calls_get_and_update() { operation: UpdateOperation::Lease, status: Some(TaskStatus::Running), worker: Some("worker1".to_string()), - error: None, - progress: None, - task_timeout_in_secs: None, + ..UpdateTaskModel::default() }; let task_to_update = Task { rn: "unique_id".to_string(), @@ -58,10 +56,7 @@ fn update_task_returns_scylla_op_error() { rn: "unique_id".to_string(), operation: UpdateOperation::Status, status: Some(TaskStatus::Completed), - worker: None, - error: None, - progress: None, - task_timeout_in_secs: None, + ..UpdateTaskModel::default() }; assert_eq!( diff --git a/scylla_operations/src/update_task.rs b/scylla_operations/src/update_task.rs index 2b9f012..e726d8d 100644 --- a/scylla_operations/src/update_task.rs +++ b/scylla_operations/src/update_task.rs @@ -34,6 +34,9 @@ pub fn validate_status_operation(task: &Task, update_task_model: &UpdateTaskMode fn prepare_status_task(mut task: Task, update_task_model: &UpdateTaskModel) -> Task { task.status = update_task_model.status.clone().unwrap(); task.updated = Utc::now(); + if let Some(metrics) = &update_task_model.metrics { + task.metrics = Some(metrics.clone()); + } if let Some(error) = update_task_model.error.clone() { if task.status == TaskStatus::Aborted { task.errors.push(error); diff --git a/scylla_operations/src/update_task/tests.rs b/scylla_operations/src/update_task/tests.rs index fbb7cdb..a234050 100644 --- a/scylla_operations/src/update_task/tests.rs +++ b/scylla_operations/src/update_task/tests.rs @@ -12,10 +12,7 @@ fn validate_status_failure_scenarios() { operation: UpdateOperation::Status, status: None, rn: "abc".to_string(), - error: None, - worker: None, - progress: None, - task_timeout_in_secs: None, + ..UpdateTaskModel::default() }; assert_eq!( @@ -32,6 +29,7 @@ fn validate_status_failure_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let utm_running_status = UpdateTaskModel { operation: UpdateOperation::Status, @@ -41,6 +39,7 @@ fn validate_status_failure_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let utm_completed_status = UpdateTaskModel { operation: UpdateOperation::Status, @@ -50,6 +49,7 @@ fn validate_status_failure_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let t_ready = Task { status: TaskStatus::Ready, @@ -78,6 +78,7 @@ fn validate_status_failure_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let t_running = Task { status: TaskStatus::Running, @@ -101,6 +102,7 @@ fn validate_status_failure_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let t_aborted = Task { status: TaskStatus::Aborted, @@ -146,6 +148,7 @@ fn validate_status_failure_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let t_running = Task { status: TaskStatus::Running, @@ -169,6 +172,7 @@ fn validate_state_success_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let t_ready = Task { status: TaskStatus::Ready, @@ -187,6 +191,7 @@ fn validate_state_success_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let utm_completed_status = UpdateTaskModel { operation: UpdateOperation::Status, @@ -196,6 +201,7 @@ fn validate_state_success_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let utm_aborted_status = UpdateTaskModel { operation: UpdateOperation::Status, @@ -209,6 +215,7 @@ fn validate_state_success_scenarios() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let t_running = Task { status: TaskStatus::Running, @@ -238,6 +245,7 @@ fn prepare_status_task_cases() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let task = Task { errors: vec![TaskError { @@ -267,6 +275,7 @@ fn prepare_status_task_cases() { worker: None, progress: None, task_timeout_in_secs: None, + metrics: None, }; let task = Task { errors: vec![TaskError { @@ -280,6 +289,52 @@ fn prepare_status_task_cases() { assert_eq!(prepared_task.status, utm_cancelled.status.unwrap()); // error added to list assert_eq!(prepared_task.errors.len(), 1); + + /*********************************/ + // Test metrics functionality when incoming metrics is not None + + let utm_with_metrics = UpdateTaskModel { + operation: UpdateOperation::Status, + status: Some(TaskStatus::Completed), + rn: "abc".to_string(), + error: None, + worker: None, + progress: None, + task_timeout_in_secs: None, + metrics: Some(serde_json::from_str("{\"execution_time\": 150, \"memory_usage\": \"256MB\"}").unwrap()), + }; + let task_with_metrics = Task { + status: TaskStatus::Running, + metrics: Some(serde_json::from_str("{\"start_time\": \"2023-01-01T00:00:00Z\"}").unwrap()), + ..Task::default() + }; + let prepared_task_with_metrics = prepare_status_task(task_with_metrics, &utm_with_metrics); + assert_eq!(prepared_task_with_metrics.status, utm_with_metrics.status.unwrap()); + // metrics should be replaced by the new value + assert_eq!(prepared_task_with_metrics.metrics, utm_with_metrics.metrics); + + /*********************************/ + // Test metrics functionality when incoming metrics is None (should preserve existing metrics) + + let utm_without_metrics = UpdateTaskModel { + operation: UpdateOperation::Status, + status: Some(TaskStatus::Completed), + rn: "abc".to_string(), + error: None, + worker: None, + progress: None, + task_timeout_in_secs: None, + metrics: None, + }; + let task_with_existing_metrics = Task { + status: TaskStatus::Running, + metrics: Some(serde_json::from_str("{\"start_time\": \"2023-01-01T00:00:00Z\"}").unwrap()), + ..Task::default() + }; + let prepared_task_preserve_metrics = prepare_status_task(task_with_existing_metrics.clone(), &utm_without_metrics); + assert_eq!(prepared_task_preserve_metrics.status, utm_without_metrics.status.unwrap()); + // existing metrics should be preserved when incoming metrics is None + assert_eq!(prepared_task_preserve_metrics.metrics, task_with_existing_metrics.metrics); } #[test] @@ -393,6 +448,7 @@ fn validate_heart_beat_operation_cases() { rn: t_ready.rn.clone(), status: None, task_timeout_in_secs: None, + metrics: None, }; let utm_wrong_worker = UpdateTaskModel { operation: HeartBeat, @@ -402,6 +458,7 @@ fn validate_heart_beat_operation_cases() { rn: t_ready.rn.clone(), status: None, task_timeout_in_secs: None, + metrics: None, }; assert_eq!( validate_heart_beat_operation(&t_ready, &utm), @@ -454,6 +511,7 @@ fn prepare_heart_beat_task_cases() { progress: None, worker: None, task_timeout_in_secs: None, + metrics: None, }; let task_2 = Task::default(); let utm_with_progress = UpdateTaskModel { @@ -464,6 +522,7 @@ fn prepare_heart_beat_task_cases() { progress: Some(0.5), worker: None, task_timeout_in_secs: Some(10), + metrics: None, }; let prepared_task = prepare_heart_beat_task(task_1, &utm_without_progress); // just updated @@ -510,6 +569,7 @@ fn validate_lease_operation_cases() { progress: None, worker: Some("worker".to_string()), task_timeout_in_secs: None, + metrics: None, }; let utm_without_worker = UpdateTaskModel { operation: UpdateOperation::Lease, @@ -519,6 +579,7 @@ fn validate_lease_operation_cases() { progress: None, worker: None, task_timeout_in_secs: None, + metrics: None, }; assert_eq!( validate_lease_operation(&t_running, &utm_without_worker), @@ -570,6 +631,7 @@ fn prepare_lease_task_cases() { progress: None, worker: Some("worker".to_string()), task_timeout_in_secs: None, + metrics: None, }; let t = Task { status: TaskStatus::Ready, @@ -750,6 +812,7 @@ fn request_handler_cases() { progress: None, status: None, task_timeout_in_secs: None, + metrics: None, }; let updated_task = request_handler(t, &utm).unwrap(); assert_eq!(updated_task.status, TaskStatus::Running); @@ -770,6 +833,7 @@ fn request_handler_cases() { progress: None, status: None, task_timeout_in_secs: None, + metrics: None, }; let updated_task = request_handler(t, &utm).unwrap(); assert_eq!(updated_task.status, TaskStatus::Ready); @@ -791,6 +855,7 @@ fn request_handler_cases() { progress: None, status: None, task_timeout_in_secs: None, + metrics: None, }; let updated_task = request_handler(t, &utm).unwrap(); assert_eq!(updated_task.status, TaskStatus::Running); @@ -812,6 +877,7 @@ fn request_handler_cases() { progress: Some(0.7), status: None, task_timeout_in_secs: Some(5), + metrics: None, }; let updated_task = request_handler(t, &utm).unwrap(); assert_eq!(updated_task.status, TaskStatus::Running); @@ -832,6 +898,7 @@ fn request_handler_cases() { progress: None, status: Some(TaskStatus::Cancelled), task_timeout_in_secs: None, + metrics: None, }; let updated_task = request_handler(t, &utm).unwrap(); assert_eq!(updated_task.status, TaskStatus::Cancelled); diff --git a/scylla_pg_client/index.ts b/scylla_pg_client/index.ts index 8612ad5..54eb73e 100644 --- a/scylla_pg_client/index.ts +++ b/scylla_pg_client/index.ts @@ -54,6 +54,7 @@ export declare type Task = { owner: string errors: TaskError[] history: TaskHistory[] + metrics?: object }; export declare type DbConfig = { @@ -115,8 +116,8 @@ class Scylla { return JSON.parse(response); } - public async completeTask(rn: string): Promise { - let response = await this.scyllaManager.completeTask(rn); + public async completeTask(rn: string, metrics?: string): Promise { + let response = await this.scyllaManager.completeTask(rn, metrics); return JSON.parse(response); } diff --git a/scylla_pg_client/package.json b/scylla_pg_client/package.json index b32e671..d4d219e 100644 --- a/scylla_pg_client/package.json +++ b/scylla_pg_client/package.json @@ -1,6 +1,6 @@ { "name": "scylla_pg_client", - "version": "0.1.33", + "version": "0.1.35", "description": "Scylla task scheduler, javascript binding.for postgres", "engines": { "node": ">=14.16.1", @@ -14,7 +14,7 @@ "email": "asharmaanil@gmail.com", "license": "MIT", "dependencies": { - "scylla_pg_js": "0.1.33" + "scylla_pg_js": "0.1.35" }, "devDependencies": { "@ava/typescript": "^4.1.0", diff --git a/scylla_pg_core/Cargo.toml b/scylla_pg_core/Cargo.toml index 9a46a68..3659f70 100644 --- a/scylla_pg_core/Cargo.toml +++ b/scylla_pg_core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla_pg_core" -version = "0.1.33" +version = "0.1.35" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/scylla_pg_js/Cargo.toml b/scylla_pg_js/Cargo.toml index 33aaf8e..6c47679 100644 --- a/scylla_pg_js/Cargo.toml +++ b/scylla_pg_js/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla_pg_js" -version = "0.1.33" +version = "0.1.35" edition = "2021" diff --git a/scylla_pg_js/index.d.ts b/scylla_pg_js/index.d.ts index e174f7d..fe14f62 100644 --- a/scylla_pg_js/index.d.ts +++ b/scylla_pg_js/index.d.ts @@ -64,7 +64,7 @@ export class ScyllaManager { * # Errors * Convert rust error into `napi::Error` */ - completeTask(rn: string): Promise + completeTask(rn: string, metrics?: string | undefined | null): Promise /** * # Errors * Convert rust error into `napi::Error` diff --git a/scylla_pg_js/package.json b/scylla_pg_js/package.json index 205f126..d88a472 100644 --- a/scylla_pg_js/package.json +++ b/scylla_pg_js/package.json @@ -1,6 +1,6 @@ { "name": "scylla_pg_js", - "version": "0.1.33", + "version": "0.1.35", "main": "index.js", "types": "index.d.ts", "napi": { @@ -38,12 +38,12 @@ }, "packageManager": "yarn@3.3.1", "optionalDependencies": { - "scylla_pg_js-win32-x64-msvc": "0.1.33", - "scylla_pg_js-darwin-x64": "0.1.33", - "scylla_pg_js-linux-x64-gnu": "0.1.33", - "scylla_pg_js-linux-x64-musl": "0.1.33", - "scylla_pg_js-linux-arm64-musl": "0.1.33", - "scylla_pg_js-darwin-arm64": "0.1.33", - "scylla_pg_js-darwin-universal": "0.1.33" + "scylla_pg_js-win32-x64-msvc": "0.1.35", + "scylla_pg_js-darwin-x64": "0.1.35", + "scylla_pg_js-linux-x64-gnu": "0.1.35", + "scylla_pg_js-linux-x64-musl": "0.1.35", + "scylla_pg_js-linux-arm64-musl": "0.1.35", + "scylla_pg_js-darwin-arm64": "0.1.35", + "scylla_pg_js-darwin-universal": "0.1.35" } } \ No newline at end of file diff --git a/scylla_pg_js/src/lib.rs b/scylla_pg_js/src/lib.rs index 9670c66..67cfd6c 100644 --- a/scylla_pg_js/src/lib.rs +++ b/scylla_pg_js/src/lib.rs @@ -116,8 +116,8 @@ impl ScyllaManager { /// # Errors /// Convert rust error into `napi::Error` #[napi] - pub async fn complete_task(&self, rn: String) -> napi::Result { - let task_result = self.pg_manager.complete_task(rn).await; + pub async fn complete_task(&self, rn: String, metrics: Option) -> napi::Result { + let task_result = self.pg_manager.complete_task(rn, metrics).await; map_lib_response!(task_result) } /// # Errors diff --git a/scylla_pg_lib/Cargo.toml b/scylla_pg_lib/Cargo.toml index da95c89..d75127f 100644 --- a/scylla_pg_lib/Cargo.toml +++ b/scylla_pg_lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla_pg_lib" -version = "0.1.33" +version = "0.1.35" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/scylla_pg_lib/src/adapter.rs b/scylla_pg_lib/src/adapter.rs index 447d120..9227058 100644 --- a/scylla_pg_lib/src/adapter.rs +++ b/scylla_pg_lib/src/adapter.rs @@ -136,17 +136,15 @@ impl DbExecute for PgAdapter { let mut client: Client = self.pool.get().await?; let stmt = client.prepare_cached(sql).await?; let tx = client.build_transaction().isolation_level(isolation_level).start().await?; - + match tx.execute(&stmt, params).await { - Ok(rows) => { - match tx.commit().await { - Ok(_) => Ok(rows), - Err(commit_err) => { - log::error!("commit for tx failed: {}", commit_err); - Err(PgAdapterError::DbError(commit_err)) - } + Ok(rows) => match tx.commit().await { + Ok(_) => Ok(rows), + Err(commit_err) => { + log::error!("commit for tx failed: {}", commit_err); + Err(PgAdapterError::DbError(commit_err)) } - } + }, Err(e) => { if let Err(rollback_err) = tx.rollback().await { log::error!("rollback for tx failed: {}", rollback_err); diff --git a/scylla_pg_lib/src/bin/load_get_and_lease_task.rs b/scylla_pg_lib/src/bin/load_get_and_lease_task.rs index c1009cc..436bc3f 100644 --- a/scylla_pg_lib/src/bin/load_get_and_lease_task.rs +++ b/scylla_pg_lib/src/bin/load_get_and_lease_task.rs @@ -43,7 +43,7 @@ pub async fn start_worker(worker_id: String) { // log::error!("error occurred while heartbeat tasks {e}"); // } // tokio::time::sleep(Duration::from_millis(1000)).await; - if let Err(e) = pgm.complete_task(t.rn.clone()).await { + if let Err(e) = pgm.complete_task(t.rn.clone(), None).await { log::error!("error occurred while complete tasks {e}"); } } diff --git a/scylla_pg_lib/src/manager.rs b/scylla_pg_lib/src/manager.rs index 4fdb9b5..c471837 100644 --- a/scylla_pg_lib/src/manager.rs +++ b/scylla_pg_lib/src/manager.rs @@ -51,6 +51,7 @@ impl PgManager { operation: UpdateOperation::Lease, error: None, task_timeout_in_secs, + metrics: None, }; self.update_task(&update_task_model).await } @@ -65,6 +66,7 @@ impl PgManager { operation: UpdateOperation::HeartBeat, error: None, task_timeout_in_secs, + metrics: None, }; self.update_task(&update_task_model).await } @@ -79,12 +81,13 @@ impl PgManager { operation: UpdateOperation::Status, error: None, task_timeout_in_secs: None, + metrics: None, }; self.update_task(&update_task_model).await } /// # Errors /// Returns `PgAdapterError` - pub async fn complete_task(&self, rn: String) -> Result { + pub async fn complete_task(&self, rn: String, metrics: Option) -> Result { let update_task_model = UpdateTaskModel { rn, worker: None, @@ -93,6 +96,11 @@ impl PgManager { operation: UpdateOperation::Status, error: None, task_timeout_in_secs: None, + metrics: if let Some(metrics_str) = metrics { + serde_json::from_str(&metrics_str).ok() // set to None if deserialization fails + } else { + None + }, }; self.update_task(&update_task_model).await } @@ -107,6 +115,7 @@ impl PgManager { operation: UpdateOperation::Status, error: Some(error), task_timeout_in_secs: None, + metrics: None, }; self.update_task(&update_task_model).await } @@ -126,6 +135,7 @@ impl PgManager { operation: UpdateOperation::Yield, error: None, task_timeout_in_secs: None, + metrics: None, }; self.update_task(&update_task_model).await } @@ -140,6 +150,7 @@ impl PgManager { operation: UpdateOperation::Reset, error: None, task_timeout_in_secs: None, + metrics: None, }; self.update_task(&update_task_model).await } diff --git a/scylla_pg_lib/src/manager/tests.rs b/scylla_pg_lib/src/manager/tests.rs index addd996..2fd88bd 100644 --- a/scylla_pg_lib/src/manager/tests.rs +++ b/scylla_pg_lib/src/manager/tests.rs @@ -171,7 +171,7 @@ async fn pg_manager_mock_adapter() { pgm.heartbeat_task("2".to_string(), "worker".to_string(), None, Some(5)).await.unwrap().rn, "update".to_string() ); - assert_eq!(pgm.complete_task("2".to_string()).await.unwrap().rn, "update".to_string()); + assert_eq!(pgm.complete_task("2".to_string(), None).await.unwrap().rn, "update".to_string()); assert_eq!( pgm.abort_task( "2".to_string(), diff --git a/scylla_pg_lib/tests/get_tasks.rs b/scylla_pg_lib/tests/get_tasks.rs index 5d72b28..fa9dc8a 100644 --- a/scylla_pg_lib/tests/get_tasks.rs +++ b/scylla_pg_lib/tests/get_tasks.rs @@ -76,7 +76,7 @@ async fn get_completed_tasks() { }; pgm.insert_task(atm).await.unwrap(); pgm.lease_task("add_test_1".to_string(), "worker".to_string(), None).await.unwrap(); - pgm.complete_task("add_test_1".to_string()).await.unwrap(); + pgm.complete_task("add_test_1".to_string(), None).await.unwrap(); let gtm = GetTaskModel { status: Some(TaskStatus::Completed), diff --git a/scylla_pg_lib/tests/reset_tasks.rs b/scylla_pg_lib/tests/reset_tasks.rs index f66f718..4571625 100644 --- a/scylla_pg_lib/tests/reset_tasks.rs +++ b/scylla_pg_lib/tests/reset_tasks.rs @@ -56,7 +56,7 @@ async fn reset_batch_tasks() { assert_eq!(reset_tasks[0].history.iter().position(|t| t.typ == TaskHistoryType::Assignment), Some(0)); assert_eq!(reset_tasks[1].history.iter().position(|t| t.typ == TaskHistoryType::Timeout), Some(1)); assert_eq!(reset_tasks[1].history.iter().position(|t| t.typ == TaskHistoryType::Assignment), Some(0)); - + // truncate table after use common::truncate_table().await; } diff --git a/scylla_pg_monitor/Cargo.toml b/scylla_pg_monitor/Cargo.toml index 3dfd8c5..e516e97 100644 --- a/scylla_pg_monitor/Cargo.toml +++ b/scylla_pg_monitor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scylla_pg_monitor" -version = "0.1.33" +version = "0.1.35" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html