Implement cron job management tools and types
- Added `JobType`, `SessionTarget`, `Schedule`, `DeliveryConfig`, `CronJob`, `CronRun`, and `CronJobPatch` types in `src/cron/types.rs` for cron job configuration and management. - Introduced `CronAddTool`, `CronListTool`, `CronRemoveTool`, `CronRunTool`, `CronRunsTool`, and `CronUpdateTool` in `src/tools` for adding, listing, removing, running, and updating cron jobs. - Updated the `run` function in `src/daemon/mod.rs` to conditionally start the scheduler based on the cron configuration. - Modified command-line argument parsing in `src/lib.rs` and `src/main.rs` to support new cron job commands. - Enhanced the onboarding wizard in `src/onboard/wizard.rs` to include cron configuration. - Added tests for cron job tools to ensure functionality and error handling.
This commit is contained in:
parent
0ec46ac3d1
commit
fb2d1cea0b
24 changed files with 2682 additions and 638 deletions
|
|
@ -71,7 +71,7 @@ pub async fn run(config: Config, host: String, port: u16) -> Result<()> {
|
|||
));
|
||||
}
|
||||
|
||||
{
|
||||
if config.cron.enabled {
|
||||
let scheduler_cfg = config.clone();
|
||||
handles.push(spawn_component_supervisor(
|
||||
"scheduler",
|
||||
|
|
@ -82,6 +82,9 @@ pub async fn run(config: Config, host: String, port: u16) -> Result<()> {
|
|||
async move { crate::cron::scheduler::run(cfg).await }
|
||||
},
|
||||
));
|
||||
} else {
|
||||
crate::health::mark_component_ok("scheduler");
|
||||
tracing::info!("Cron disabled; scheduler supervisor not started");
|
||||
}
|
||||
|
||||
println!("🧠 ZeroClaw daemon started");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue