comment(Inspiring::quote()); })->purpose('Display an inspiring quote'); /* |-------------------------------------------------------------------------- | Scheduled Tasks |-------------------------------------------------------------------------- | | 定时任务配置 | 所有定时任务统一在此文件管理 | */ // Git Monitor - 每 10 分钟检查 release 分支 Schedule::command('git-monitor:check') ->everyTenMinutes() ->withoutOverlapping() ->runInBackground() ->name('git-monitor-check'); // Git Monitor - 每天凌晨 2 点刷新 release 缓存 Schedule::command('git-monitor:cache') ->dailyAt('02:00') ->withoutOverlapping() ->name('git-monitor-cache'); // SLS 日志分析定时任务 - 每天凌晨 2 点执行 // 分析过去 24 小时的 ERROR 和 WARNING 日志并推送到钉钉 // 可通过数据库配置 log_analysis.settings.daily_schedule_enabled 控制是否启用 /* Schedule::command('log-analysis:run --from="-24h" --to="now" --query="ERROR or WARNING" --push') ->dailyAt('02:00') ->withoutOverlapping() ->runInBackground() ->when(function () { try { $settings = app(ConfigService::class)->get('log_analysis.settings', []); return $settings['daily_schedule_enabled'] ?? false; } catch (\Exception $e) { return false; } }) ->name('daily-log-analysis') ->onFailure(function () { Log::error('每日日志分析定时任务执行失败'); }); */ // SLS 日志分析定时任务 - 每 4 小时执行一次 // 分析过去 6 小时的 ERROR 和 WARNING 日志并推送到钉钉 // 可通过数据库配置 log_analysis.settings.schedule_enabled 控制是否启用 Schedule::command('log-analysis:run --from="-6h" --to="now" --query="ERROR or WARNING" --push') ->everyFourHours() ->withoutOverlapping() ->runInBackground() ->when(function () { try { $settings = app(ConfigService::class)->get('log_analysis.settings', []); return $settings['schedule_enabled'] ?? false; } catch (\Exception $e) { return false; } }) ->name('frequent-log-analysis') ->onFailure(function () { Log::error('SLS 日志分析定时任务执行失败'); });