Moved episode indexing into a transaction.

This commit is contained in:
Jordan Petridis
2017-11-23 21:30:17 +02:00
parent 5570fdd118
commit 91f4a30c01
+11 -6
View File
@@ -1,4 +1,6 @@
use rayon::prelude::*; use rayon::prelude::*;
use diesel::prelude::*;
use diesel::Identifiable; use diesel::Identifiable;
use rss; use rss;
@@ -46,12 +48,15 @@ impl Feed {
let db = connection(); let db = connection();
let con = db.get().unwrap(); let con = db.get().unwrap();
episodes.into_iter().for_each(|x| { let _ = con.transaction::<(), Error, _>(|| {
let e = x.index(&con); episodes.into_iter().for_each(|x| {
if let Err(err) = e { let e = x.index(&con);
error!("Failed to index episode: {:?}.", x); if let Err(err) = e {
error!("Error msg: {}", err); error!("Failed to index episode: {:?}.", x);
}; error!("Error msg: {}", err);
};
});
Ok(())
}); });
Ok(()) Ok(())
} }