sneedstr/src/noose/mod.rs

35 lines
927 B
Rust

use crate::utils::structs::Context;
use tokio::runtime;
use db::Noose;
use pipeline::Pipeline;
pub mod db;
pub mod pipeline;
// mod sled;
mod sqlite;
pub mod user;
pub fn start(context: Context) {
let rt = runtime::Runtime::new().unwrap();
rt.block_on(async move {
let pipeline_pubsub = context.pubsub.clone();
let pipeline_config = context.config.clone();
let db_pubsub = context.pubsub.clone();
let pipeline_handle = tokio::task::spawn(async move {
let mut pipeline = Pipeline::new(pipeline_pubsub, pipeline_config);
pipeline.start().await.unwrap();
});
let sqlite_writer_handle = tokio::task::spawn(async move {
let mut db_writer = sqlite::SqliteDb::new().await;
db_writer.start(db_pubsub).await.unwrap();
});
sqlite_writer_handle.await.unwrap();
pipeline_handle.await.unwrap();
});
}