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 rayon::prelude::*;
use diesel::prelude::*;
use diesel::Identifiable; use diesel::Identifiable;
use rss; use rss;
@ -46,6 +48,7 @@ impl Feed {
let db = connection(); let db = connection();
let con = db.get().unwrap(); let con = db.get().unwrap();
let _ = con.transaction::<(), Error, _>(|| {
episodes.into_iter().for_each(|x| { episodes.into_iter().for_each(|x| {
let e = x.index(&con); let e = x.index(&con);
if let Err(err) = e { if let Err(err) = e {
@ -54,6 +57,8 @@ impl Feed {
}; };
}); });
Ok(()) Ok(())
});
Ok(())
} }
fn parse_channel(&self) -> NewPodcast { fn parse_channel(&self) -> NewPodcast {