qubit-thread-pool 0.4.0

Dynamic and fixed thread pool executor services for Qubit Rust libraries
Documentation
use std::{
    sync::mpsc,
    time::Duration,
};

use qubit_thread_pool::DelayedTaskScheduler;

#[test]
fn test_delayed_module_exports_scheduler_entrypoint() {
    let scheduler =
        DelayedTaskScheduler::new("test-delayed-module").expect("scheduler should start");
    let (sent_tx, sent_rx) = mpsc::channel();

    scheduler
        .schedule(Duration::from_millis(1), move || {
            sent_tx.send(()).expect("scheduled task should send");
        })
        .expect("running scheduler should accept task");

    sent_rx
        .recv_timeout(Duration::from_secs(1))
        .expect("scheduled task should run");
    scheduler.shutdown();
    scheduler.wait_termination();
}