#signal #cbsk #async-pool #tool #callback #sockets #function

cbsk_run

cbsk_run is async pool tool

20 releases (stable)

Uses new Rust 2024

new 2.1.2 Mar 21, 2025
2.1.0 Dec 30, 2024
2.0.6 Nov 15, 2024
1.3.11 Aug 19, 2024
0.1.5 Dec 20, 2023

#5 in #cbsk

Download history 4/week @ 2024-11-22 1/week @ 2024-12-06 136/week @ 2024-12-27 15/week @ 2025-01-03 2/week @ 2025-01-10 3/week @ 2025-01-31 104/week @ 2025-02-07 69/week @ 2025-02-14 10/week @ 2025-02-21 48/week @ 2025-02-28

149 downloads per month

MIT/Apache

27KB
397 lines

cbsk_run is async pool tool
the main functions include async pool and signal::run

support the minimum version of Rust

1.80.0

signal::run example

Cargo.toml file :

cbsk_base = { version = "2.1.2" }
cbsk_run = { version = "2.1.2" }

main.rs file :

use std::time::Duration;
use cbsk_base::{anyhow, tokio};
use cbsk_base::tokio::task::JoinHandle;

#[tokio::main]
async fn main() {
    cbsk_run::run::signal::run(runnable()).await
}

fn runnable() -> anyhow::Result<Vec<JoinHandle<()>>> {
    Ok(vec![hello_world(), say_hi()])
}

fn hello_world() -> JoinHandle<()> {
    tokio::spawn(async {
        loop {
            println!("hello world");
            tokio::time::sleep(Duration::from_secs(1)).await;
        }
    })
}

fn say_hi() -> JoinHandle<()> {
    tokio::spawn(async {
        loop {
            println!("hi!");
            tokio::time::sleep(Duration::from_secs(2)).await;
        }
    })
}

running results :

E:\work\github\rust\cbsk_test>cargo run
Compiling cbsk_run v0.1.0 (E:\work\github\rust\cbsk\libs\cbsk_run)
Compiling cbsk_test v0.1.0 (E:\work\github\rust\cbsk_test)
Finished dev [unoptimized + debuginfo] target(s) in 4.21s
Running E:\work\cache\rust\github\target\debug\cbsk_test.exe
hello world
hi!
hello world
hello world
hi!
hello world
hello world
hi!
hello world
hello world
hi!
hello world
hello world
hi!
hello world
hello world
hi!
hello world
hi!
hello world
hello world
hello world
hi!
hello world

E:\work\github\rust\cbsk_test>

Dependencies

~2.5–8.5MB
~62K SLoC