35 lines
927 B
Rust
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();
|
|
});
|
|
}
|