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
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6

View File

@ -1,4 +1,6 @@
use rayon::prelude::*;
use diesel::prelude::*;
use diesel::Identifiable;
use rss;
@ -46,12 +48,15 @@ impl Feed {
let db = connection();
let con = db.get().unwrap();
episodes.into_iter().for_each(|x| {
let e = x.index(&con);
if let Err(err) = e {
error!("Failed to index episode: {:?}.", x);
error!("Error msg: {}", err);
};
let _ = con.transaction::<(), Error, _>(|| {
episodes.into_iter().for_each(|x| {
let e = x.index(&con);
if let Err(err) = e {
error!("Failed to index episode: {:?}.", x);
error!("Error msg: {}", err);
};
});
Ok(())
});
Ok(())
}