diff options
Diffstat (limited to 'src/server.rs')
-rw-r--r-- | src/server.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server.rs b/src/server.rs index e2ac7dd..c5a59f5 100644 --- a/src/server.rs +++ b/src/server.rs @@ -14,9 +14,11 @@ use rocket::response::Redirect; use rocket::State; use rocket_contrib::templates::Template; use std::collections::HashMap; +use threadpool::ThreadPool; use crate::db; use crate::error::Error; +use crate::importer; use crate::models; use crate::strava; @@ -165,6 +167,10 @@ pub fn start(conn: diesel::PgConnection, db_url: &str, base_url: &str) { .finalize() .unwrap(); + let importer_pool = ThreadPool::with_name("import".to_string(), importer::WORKERS); + let tx = importer::run(importer_pool.clone()); + tx.send(importer::Command::Quit).expect("send"); + rocket::custom(config) .manage(params) .mount( @@ -180,4 +186,6 @@ pub fn start(conn: diesel::PgConnection, db_url: &str, base_url: &str) { .attach(Template::fairing()) .attach(Db::fairing()) .launch(); + + importer_pool.join(); } |