| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: implement daemon cron scheduler with retry logic Implement cron-based scheduled task execution in xiaoO daemon with robust retry mechanism and concurrency control. Changes: - Add 'cron', 'shellexpand' dependencies to serverside - Create cron::scheduler module with CronScheduler * Per-job tokio timer loops with CancellationToken * Retry logic with configurable attempts and delay * Concurrency control via tokio::Semaphore * Graceful shutdown on daemon exit * Execution statistics (trigger_count, success_count, failure_count) - Extend daemon_config with cron configuration parsing * CronSectionRaw: parse [cron] section from config.toml * CronJobRaw: parse [[job]] entries from jobs.toml * resolve_cron_jobs(): load, validate, and merge configs * Duplicate job name detection using HashSet * Use dirs::home_dir() for HOME directory resolution - Integrate CronScheduler into daemon main.rs * Initialize after channel services setup * Graceful shutdown before backend manager cleanup * Diagnostic logging for empty/no config scenarios Configuration layout: ~/.config/xiaoo/config.toml [cron] section (global settings) ~/.config/xiaoo/cron/jobs.toml [[job]] array (job definitions) Error handling: - Fail-open: config errors don't block daemon startup - Invalid cron expressions logged and job skipped - Timeout and retry errors properly categorized Files added: apps/serverside/src/cron/mod.rs apps/serverside/src/cron/scheduler.rs Files modified: Cargo.toml, Cargo.lock apps/serverside/Cargo.toml apps/serverside/src/daemon_config.rs apps/serverside/src/main.rs | 1 个月前 | |
feat(cron): expose live job controls | 1 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 天前 |