Start with the analysis stuff

This commit is contained in:
Lol3rrr
2024-09-12 00:13:26 +02:00
parent 1bfcd64a3c
commit f6500ce2cd
15 changed files with 498 additions and 23 deletions

View File

@@ -26,6 +26,34 @@ async fn main() {
run_migrations(&mut backend::db_connection().await).await;
tracing::info!("Completed Migrations");
let (base_analysis_tx, mut base_analysis_rx) = tokio::sync::mpsc::unbounded_channel::<backend::analysis::AnalysisInput>();
tokio::task::spawn_blocking(move || {
while let Some(input) = base_analysis_rx.blocking_recv() {
let demo_id = input.demoid;
let result = backend::analysis::analyse_base(input);
dbg!(&result);
let handle = tokio::task::spawn(
async move {
let mut db_con = backend::db_connection().await;
let store_info_query = diesel::dsl::insert_into(backend::schema::demo_info::dsl::demo_info).values(backend::models::DemoInfo {
demo_id,
map: result.map,
});
let update_process_info = diesel::dsl::update(backend::schema::processing_status::dsl::processing_status).set(backend::schema::processing_status::dsl::info.eq(1)).filter(backend::schema::processing_status::dsl::demo_id.eq(demo_id));
tracing::trace!(?store_info_query, "Store demo info query");
tracing::trace!(?update_process_info, "Update processing info query");
store_info_query.execute(&mut db_con).await.unwrap();
update_process_info.execute(&mut db_con).await.unwrap();
}
);
}
});
let session_store = backend::diesel_sessionstore::DieselStore::new();
let session_layer = tower_sessions::SessionManagerLayer::new(session_store)
.with_secure(false)
@@ -38,7 +66,7 @@ async fn main() {
}
let router = axum::Router::new()
.nest("/api/", backend::api::router())
.nest("/api/", backend::api::router(base_analysis_tx))
.layer(session_layer)
.nest_service("/", tower_http::services::ServeDir::new("frontend/dist/"));