derust 0.2.0

Easy way to start your Rust asynchronous application server using Tokio and Axum frameworks.
Documentation
use crate::shutdown_signal;
use outbox_pattern_processor::outbox_processor::OutboxProcessor;
use outbox_pattern_processor::outbox_resources::OutboxProcessorResources;
use tracing::info;
use wg::WaitGroup;

pub async fn run(wg: WaitGroup, outbox_processor_resources: OutboxProcessorResources) {
    info!("Starting embedded outbox-pattern-processor");

    let _ = OutboxProcessor::new(outbox_processor_resources.clone())
        .with_graceful_shutdown(shutdown_signal())
        .init_process()
        .await;

    if outbox_processor_resources
        .scheduled_clear_locked_partition
        .unwrap_or(false)
    {
        let _ = OutboxProcessor::new(outbox_processor_resources)
            .with_graceful_shutdown(shutdown_signal())
            .init_processed_locked_cleaner()
            .await;
    }

    wg.done();

    info!("Embedded outbox-pattern-processor stopped");
}