#feature: add Jenkins deploy monitor & log clean task
This commit is contained in:
40
app/Console/Commands/ScheduledTaskRefreshCommand.php
Normal file
40
app/Console/Commands/ScheduledTaskRefreshCommand.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Services\ScheduledTaskService;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
class ScheduledTaskRefreshCommand extends Command
|
||||
{
|
||||
protected $signature = 'scheduled-task:refresh';
|
||||
|
||||
protected $description = '刷新定时任务列表,同步 console.php 中的任务配置到数据库';
|
||||
|
||||
public function handle(ScheduledTaskService $taskService): int
|
||||
{
|
||||
try {
|
||||
$this->info('开始刷新定时任务列表...');
|
||||
|
||||
$tasks = $taskService->getAllTasks();
|
||||
|
||||
$this->info(sprintf('成功刷新 %d 个定时任务', count($tasks)));
|
||||
|
||||
// 显示任务列表
|
||||
$this->table(
|
||||
['任务名称', '描述', '执行频率', '状态'],
|
||||
array_map(fn($task) => [
|
||||
$task['name'],
|
||||
$task['description'],
|
||||
$task['frequency'],
|
||||
$task['enabled'] ? '已启用' : '已禁用',
|
||||
], $tasks)
|
||||
);
|
||||
|
||||
return Command::SUCCESS;
|
||||
} catch (\Exception $e) {
|
||||
$this->error("刷新失败: {$e->getMessage()}");
|
||||
return Command::FAILURE;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user