cron_macro_codegen/lib.rs
1mod cron_macro_codegen;
2
3extern crate proc_macro;
4use cron_macro_codegen::impl_method_cron;
5use proc_macro::TokenStream;
6
7///
8/// for example:
9///
10/// #[cron("* */10 * * * *")]
11/// fn func(){...}
12/// The scheduling format is:
13/// sec min hour day of month month day of week year
14/// * * * * * * *
15/// Time is specified for UTC and not your local timezone.
16///
17/// example:
18/// 0 0 * * * * // top of every hour of every day
19/// 0 0/30 8-10 * * * //8:00, 8:30, 9:00, 9:30, 10:00 and 10:30 every day
20/// 0 0 8-10 * * * 2022 // every ten seconds at 2022
21///
22///
23/// lazy_static::lazy_static!{
24/// static ref CONFIG: T = T::new();
25/// }
26///
27/// #[cron("${CONFIG.cron}")]
28/// fn func() ->{...}
29///
30///
31#[proc_macro_attribute]
32pub fn cron(attr: TokenStream, input: TokenStream) -> TokenStream {
33 impl_method_cron(attr, input)
34}