first commit
This commit is contained in:
40
Commands/CronCommand.cs
Normal file
40
Commands/CronCommand.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using HanaToolbox.Cli;
|
||||
using HanaToolbox.Config;
|
||||
using HanaToolbox.Logging;
|
||||
using HanaToolbox.Services;
|
||||
using HanaToolbox.Tui;
|
||||
|
||||
namespace HanaToolbox.Commands;
|
||||
|
||||
public static class CronCommand
|
||||
{
|
||||
public static async Task<int> RunAsync(CliArgs cli)
|
||||
{
|
||||
var log = new AppLogger(cli.Verbose);
|
||||
|
||||
// cron setup → TUI
|
||||
if (cli.SubCommand == "setup")
|
||||
{
|
||||
try
|
||||
{
|
||||
var config = ConfigService.Load();
|
||||
var tui = new CronSetupTui();
|
||||
config = tui.Run(config);
|
||||
ConfigService.Save(config);
|
||||
log.Always("Cron settings saved to /etc/hanatoolbox/hanatoolbox.json");
|
||||
return 0;
|
||||
}
|
||||
catch (Exception ex) { log.Error(ex.Message); return 1; }
|
||||
}
|
||||
|
||||
// cron → orchestrator (called by system cron every minute)
|
||||
try
|
||||
{
|
||||
var config = ConfigService.Load();
|
||||
var sid = string.IsNullOrWhiteSpace(cli.Sid) ? config.Hana.Sid : cli.Sid;
|
||||
await ServiceFactory.CreateCronOrchestrator(log).RunAsync(config, sid);
|
||||
return 0;
|
||||
}
|
||||
catch (Exception ex) { log.Error(ex.Message); return 1; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user