batch_mode_process_response/
save_failed_entries.rs1crate::ix!();
3
4pub async fn save_failed_entries(
5 workspace: &dyn BatchWorkspaceInterface,
6 failed_entries: &[&BatchResponseRecord],
7) -> Result<(), ErrorSavingFailedBatchEntries> {
8
9 info!("saving failed entries: {:#?}", failed_entries);
10
11 let mut serialized_entries = String::new();
13 for entry in failed_entries {
14 let json_line = serde_json::to_string(entry)?;
15 serialized_entries.push_str(&json_line);
16 serialized_entries.push('\n');
17 }
18
19 use tokio::io::AsyncWriteExt;
21 let mut file = tokio::fs::OpenOptions::new()
22 .create(true)
23 .append(true)
24 .open(workspace.failed_items_dir())
25 .await?;
26 file.write_all(serialized_entries.as_bytes()).await?;
27
28 Ok(())
29}