Used r2d2 for db connection pool.

This commit is contained in:
didier amyot committed 2023-03-09 16:04:34 -05:00
1 parent 5df6d5afd1
commit 18f07ac215
8 files changed
+58 -54

No files matched your search

+6 -9
View File
@@ -12,11 +12,11 @@ use async_channel;
use futures::{pin_mut, select, FutureExt};
use minijinja;
use minijinja_autoreload::AutoReloader;
use r2d2_sqlite::SqliteConnectionManager;
use crate::events::Event;
use crate::util::{CustomResult, Error, SQLiteConnectionFactory};
use crate::webui::services::creat_db_pool;
use crate::webui::services::{creat_db_pool, Services};
use crate::webui::templates::MiniJinjaRenderer;
use crate::webui::worker::event_processor_loop;
@@ -62,8 +62,6 @@ fn create_views_scope() -> Scope {
.service(views::actions_partials)
}
#[tokio::main]
pub async fn web_ui_main(
conn_fact: SQLiteConnectionFactory,
@@ -76,16 +74,15 @@ pub async fn web_ui_main(
// https://github.com/ivanceras/r2d2-sqlite) use
// https://docs.rs/actix-web/4.3.1/actix_web/web/fn.block.html
// in handlers.
let pool = creat_db_pool(& conn_fact.path().unwrap());
// let db_pool = web::Data::new();
let cloned_conn_fact = conn_fact.clone();
let pool = creat_db_pool(&conn_fact.path().unwrap());
let services = Services::new(pool);
let server = HttpServer::new(move || {
let template_reloader = create_auto_reloader(enable_template_autoreload);
App::new()
.app_data(web::Data::new(pool.clone()))
.app_data(web::Data::new(services.clone()))
.app_data(web::Data::new(template_reloader))
.app_data(web::Data::new(event_sender.clone()))
.app_data(web::Data::new(cloned_conn_fact.clone()))
.service(create_static_scope())
.service(create_api_scope())
.service(create_views_scope())