forge_core/config/
cron_config.rs1use std::time::Duration;
4
5use serde::{Deserialize, Serialize};
6
7use super::types::DurationStr;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
11#[non_exhaustive]
12pub struct CronConfig {
13 #[serde(default = "default_poll_interval")]
15 pub poll_interval: DurationStr,
16
17 #[serde(default = "default_catch_up_limit")]
20 pub catch_up_limit: usize,
21}
22
23impl Default for CronConfig {
24 fn default() -> Self {
25 Self {
26 poll_interval: default_poll_interval(),
27 catch_up_limit: default_catch_up_limit(),
28 }
29 }
30}
31
32fn default_poll_interval() -> DurationStr {
33 DurationStr::new(Duration::from_secs(1))
34}
35
36fn default_catch_up_limit() -> usize {
37 100
38}