update Runner.run signature + adapt message enum
This commit is contained in:
+13
-1
@@ -2,6 +2,7 @@ use std::collections::VecDeque;
|
||||
use std::sync::{Arc, Condvar, Mutex};
|
||||
use std::thread;
|
||||
|
||||
use crate::message::Message;
|
||||
use crate::model::*;
|
||||
|
||||
pub struct Queue<T> {
|
||||
@@ -88,7 +89,10 @@ impl<T: Runner + std::marker::Send + 'static> Manager<T> {
|
||||
drop(guard);
|
||||
|
||||
Manager::<T>::set_worker_status(&worker, WorkerStatus::Running);
|
||||
runner.run();
|
||||
match runner.run() {
|
||||
Ok(m) => Manager::<T>::manage_message(m),
|
||||
Err(_e) => todo!(),
|
||||
}
|
||||
Manager::<T>::set_worker_status(&worker, WorkerStatus::Pending);
|
||||
});
|
||||
}
|
||||
@@ -110,6 +114,14 @@ impl<T: Runner + std::marker::Send + 'static> Manager<T> {
|
||||
true
|
||||
}
|
||||
|
||||
fn manage_message(message: Message) {
|
||||
match message {
|
||||
Message::CheckDeploy(body) => {
|
||||
println!("{:?}", body)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn set_worker_status(worker: &Arc<Mutex<Worker>>, status: WorkerStatus) {
|
||||
let mut guard = worker.lock().unwrap();
|
||||
guard.set_status(status);
|
||||
|
||||
Reference in New Issue
Block a user