scheduled-task 0.1.0

对tokio-cron-scheduler库的增强
Documentation
//! 通过`#[scheduled]`属性宏生成定时任务
//!
//! `#[scheduled]`有两个属性
//! + cron:指定表达式, 如:cron = "*/1 * * * * *"
//! + rate:指定时间频率,单位:秒
//!
//! > 注意: cron和rate两者必须且只能有一个有值
//!
//! `#[scheduled]`必须添加在一个无参数、无返回值的异步函数上
//! 然后需要执行一下该函数,定时任务才能生效
//! > 项目中需要引入[tokio]和[tokio-cron-scheduler]库
//!
//! # Example
//! ```
//! #[scheduled(cron = "*/1 * * * * *")]
//! async fn func1() {
//!     println!("func1");
//! }
//!
//! #[tokio::main]
//! async fn main() {
//!     run_cron_task!(func1);
//!     // 或
//!     // func1().await;
//! }
//! ```

/// 运行添加了#[scheduled]属性的方法
///
/// #Example
/// ```
/// #[scheduled(cron = "*/1 * * * * *")]
/// async fn func1() {
///     println!("func1");
/// }
///
/// #[tokio::main]
/// async fn main() {
///     run_cron_task!(func1);
/// }
/// ```
#[macro_export]
macro_rules! run_cron_task {
    ($($var:ident),+ $(,)?) => {
        $($var().await;)+
    };
}


pub use scheduled_task_macro::*;