webhooks (#1)
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
@@ -21,10 +21,13 @@ use tracing::info;
|
||||
mod config;
|
||||
mod dto;
|
||||
mod error;
|
||||
mod events;
|
||||
mod extractors;
|
||||
mod poller;
|
||||
mod routes;
|
||||
mod scheduler;
|
||||
mod state;
|
||||
mod webhook;
|
||||
|
||||
use crate::config::Config;
|
||||
use crate::state::AppState;
|
||||
@@ -150,7 +153,16 @@ async fn main() -> anyhow::Result<()> {
|
||||
|
||||
let registry = Arc::new(registry);
|
||||
|
||||
let (event_tx, event_rx) = tokio::sync::broadcast::channel::<domain::DomainEvent>(64);
|
||||
|
||||
let bg_channel_repo = channel_repo.clone();
|
||||
let webhook_channel_repo = channel_repo.clone();
|
||||
tokio::spawn(webhook::run_webhook_consumer(
|
||||
event_rx,
|
||||
webhook_channel_repo,
|
||||
reqwest::Client::new(),
|
||||
));
|
||||
|
||||
let schedule_engine = ScheduleEngineService::new(
|
||||
Arc::clone(®istry) as Arc<dyn IProviderRegistry>,
|
||||
channel_repo,
|
||||
@@ -164,6 +176,7 @@ async fn main() -> anyhow::Result<()> {
|
||||
schedule_engine,
|
||||
registry,
|
||||
config.clone(),
|
||||
event_tx.clone(),
|
||||
)
|
||||
.await?;
|
||||
|
||||
@@ -178,8 +191,16 @@ async fn main() -> anyhow::Result<()> {
|
||||
cors_origins: config.cors_allowed_origins.clone(),
|
||||
};
|
||||
|
||||
let bg_channel_repo_poller = bg_channel_repo.clone();
|
||||
let bg_schedule_engine = Arc::clone(&state.schedule_engine);
|
||||
tokio::spawn(scheduler::run_auto_scheduler(bg_schedule_engine, bg_channel_repo));
|
||||
tokio::spawn(scheduler::run_auto_scheduler(bg_schedule_engine, bg_channel_repo, event_tx.clone()));
|
||||
|
||||
let bg_schedule_engine_poller = Arc::clone(&state.schedule_engine);
|
||||
tokio::spawn(poller::run_broadcast_poller(
|
||||
bg_schedule_engine_poller,
|
||||
bg_channel_repo_poller,
|
||||
event_tx,
|
||||
));
|
||||
|
||||
let app = Router::new()
|
||||
.nest("/api/v1", routes::api_v1_router())
|
||||
|
||||
Reference in New Issue
Block a user