Graceful shutdown
This commit is contained in:
parent
0d50247e5c
commit
7560aefdd0
|
@ -7,7 +7,7 @@ use std::thread::JoinHandle;
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use crossbeam_channel::{Receiver, Sender};
|
use crossbeam_channel::{Receiver, Sender};
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use log::{error, warn};
|
use log::{error, info, warn};
|
||||||
|
|
||||||
use crate::pile::RawPile;
|
use crate::pile::RawPile;
|
||||||
use crate::remote::{read_message, write_message, Request, RequestBody, Response, ResponseBody};
|
use crate::remote::{read_message, write_message, Request, RequestBody, Response, ResponseBody};
|
||||||
|
@ -80,6 +80,11 @@ impl Responder {
|
||||||
let request: Request = read_message(&mut read)?;
|
let request: Request = read_message(&mut read)?;
|
||||||
|
|
||||||
match request.body {
|
match request.body {
|
||||||
|
RequestBody::Shutdown => {
|
||||||
|
worker_queue_send.send(request)?;
|
||||||
|
info!("Shutting down responder");
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
RequestBody::NextBatch { token } => {
|
RequestBody::NextBatch { token } => {
|
||||||
let tokens = self
|
let tokens = self
|
||||||
.continuation_tokens
|
.continuation_tokens
|
||||||
|
@ -277,13 +282,10 @@ impl Responder {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
RequestBody::Shutdown => {
|
RequestBody::Shutdown => Response {
|
||||||
warn!("Not yet implemented: Shutdown");
|
|
||||||
Response {
|
|
||||||
response_to: request.id,
|
response_to: request.id,
|
||||||
body: ResponseBody::Success,
|
body: ResponseBody::Success,
|
||||||
}
|
},
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
responses
|
responses
|
||||||
|
|
Loading…
Reference in New Issue