diff options
author | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2020-02-01 09:10:54 -0500 |
---|---|---|
committer | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2020-02-01 09:10:54 -0500 |
commit | fb9f143f2353dc8c64a18be84c12b53cdad847e7 (patch) | |
tree | 5d7d2e5f80aa5aff705e6b9e05753a3005bb3bcf /src/server.rs | |
parent | 0773347daf9dd5b1433884aeabd007f2f605adeb (diff) |
Add strava importer threadpool
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(); } |