MeiliSearch/meilisearch-lib/src/tasks/batch_handlers/snapshot_handler.rs
2022-05-25 11:13:35 +02:00

32 lines
747 B
Rust

use crate::tasks::batch::{Batch, BatchContent};
use crate::tasks::BatchHandler;
pub struct SnapshotHandler;
#[async_trait::async_trait]
impl BatchHandler for SnapshotHandler {
fn accept(&self, batch: &Batch) -> bool {
match batch.content {
BatchContent::Snapshot(_) => true,
_ => false,
}
}
async fn process_batch(&self, batch: Batch) -> Batch {
match batch.content {
BatchContent::Snapshot(job) => {
if let Err(e) = job.run().await {
log::error!("snapshot error: {e}");
}
}
_ => unreachable!(),
}
Batch::empty()
}
async fn finish(&self, _: &Batch) {
()
}
}