summaryrefslogtreecommitdiff
path: root/src/server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.rs')
-rw-r--r--src/server.rs8
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();
}