add scheduler
This commit is contained in:
parent
f09fd0c020
commit
22d497661e
@ -6,6 +6,7 @@ use rusqlite::Connection;
|
|||||||
use seahorse::{App, Command, Context};
|
use seahorse::{App, Command, Context};
|
||||||
use crate::utils::{load_config, save_config};
|
use crate::utils::{load_config, save_config};
|
||||||
use crate::commands::db::{save_cmd, export_cmd};
|
use crate::commands::db::{save_cmd, export_cmd};
|
||||||
|
use crate::commands::scheduler::{scheduler_cmd};
|
||||||
use crate::config::ConfigPaths;
|
use crate::config::ConfigPaths;
|
||||||
use crate::agent::AIState;
|
use crate::agent::AIState;
|
||||||
|
|
||||||
@ -92,4 +93,5 @@ pub fn cli_app() -> App {
|
|||||||
.command(talk_cmd)
|
.command(talk_cmd)
|
||||||
.command(save_cmd())
|
.command(save_cmd())
|
||||||
.command(export_cmd())
|
.command(export_cmd())
|
||||||
|
.command(scheduler_cmd())
|
||||||
}
|
}
|
||||||
|
@ -1 +1,2 @@
|
|||||||
pub mod db;
|
pub mod db;
|
||||||
|
pub mod scheduler;
|
||||||
|
29
src/commands/scheduler.rs
Normal file
29
src/commands/scheduler.rs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// src/commands/scheduler.rs
|
||||||
|
|
||||||
|
use seahorse::{Command, Context};
|
||||||
|
use std::thread;
|
||||||
|
use std::time::Duration;
|
||||||
|
use chrono::Local;
|
||||||
|
|
||||||
|
pub fn scheduler_cmd() -> Command {
|
||||||
|
Command::new("scheduler")
|
||||||
|
.usage("scheduler [interval_sec]")
|
||||||
|
.alias("s")
|
||||||
|
.action(|c: &Context| {
|
||||||
|
let interval = c.args.get(0)
|
||||||
|
.and_then(|s| s.parse::<u64>().ok())
|
||||||
|
.unwrap_or(60); // デフォルト: 60秒ごと
|
||||||
|
|
||||||
|
println!("⏳ スケジューラー開始({interval}秒ごと)...");
|
||||||
|
|
||||||
|
loop {
|
||||||
|
let now = Local::now();
|
||||||
|
println!("🔁 タスク実行中: {}", now.format("%Y-%m-%d %H:%M:%S"));
|
||||||
|
|
||||||
|
// ここで talk_cmd や save_cmd の内部処理を呼ぶ感じ
|
||||||
|
// たとえば load_config → AI更新 → print とか
|
||||||
|
|
||||||
|
thread::sleep(Duration::from_secs(interval));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user