2.6 KiB
2.6 KiB
lool » sched is a utility library that provides a way to schedule tasks in
various ways. Supports std::thread and the tokio runtime
(as a feature flag).
Installation
This library is for internal use. And as such, it's only published privately.
cargo add lool --registry=lugit --features sched {sub-feature}
Sub-Features
sched.tokio
Enables the tokio runtime support, replacing the default behaviour, which implies a std::thread
pool to run the tasks.
Warning
Not yet implemented
sched.rule-recurrent
Enables the "recurrent-rule" style for scheduling tasks.
sched.rule-cron
Warning
Not yet implemented
Planned Features
sched.rule-cron: Enables the "cron-like" style for scheduling taskssched.rule-pyschedule: Enables the python schedule-like style for scheduling tasks
Inspiration
This library is inspired by several other libraries, including:
- node-schedule: where the idea of recurring rules was taken from.
- tokio-schedule: tokio async scheduler
- schedule-rs: simple thread-based scheduler
- croner-rust: a croner parser for rust
- job_scheduler: another thread-based job scheduler for rust
- python's schedule: a simple python scheduler with a human-friendly API
Other useful libraries that might come in handy for this project during development are:
- https://crates.io/crates/tokio-cron-scheduler
- https://crates.io/crates/clokwerk
- https://crates.io/crates/cron_tab
- https://crates.io/crates/multithreading
- https://crates.io/crates/multithreading
- https://crates.io/crates/threadpool
- https://crates.io/crates/blocking
- https://crates.io/crates/scheduled-thread-pool
- https://crates.io/crates/clokwerk