diff --git a/src/lib.rs b/src/lib.rs index 5776215..5dffd22 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -35,6 +35,15 @@ pub mod run { None }; + // If we're in "debug" mode, posts become more frequent. + let is_debug = std::env::var("DEBUG").unwrap_or("0".to_string()) == "1"; + let schedule: &str = if !is_debug { + "0 */30 * * * * *" + } else { + // Debug schedule + "*/10 * * * * * *" + }; + let use_redis = std::env::var("USE_REDIS").unwrap_or("0".to_string()) == "1"; if use_redis { let redis = redis::Client::open( @@ -48,14 +57,15 @@ pub mod run { let queue = RedisQueueStorage::spawn(RedisQueueStorage::new(con, DEFAULT_KEY.to_string())); - run_cycle(queue, bsky).await + run_cycle(schedule, queue, bsky).await } else { let queue = MemoryQueueStorage::spawn(MemoryQueueStorage::new()); - run_cycle(queue, bsky).await + run_cycle(schedule, queue, bsky).await } } async fn run_cycle( + schedule: &str, queue: ActorRef, bsky: Option>, ) -> Result<(), Box> { @@ -71,9 +81,7 @@ pub mod run { use cron_lite::Schedule; const POSTING_TIMEOUT: Duration = Duration::from_secs(60); - const POSTING_INTERVAL: &str = "*/10 * * * * * *"; - let schedule = - Schedule::new(POSTING_INTERVAL).expect("Schedule should be a valid cron expression"); + let schedule = Schedule::new(schedule).expect("Schedule should be a valid cron expression"); let now = chrono::Utc::now(); let mut tick_stream = schedule.stream(&now);