registerDatabaseTasks($manager); parent::__construct($container); } protected function registerDatabaseTasks(CrontabManager $manager): void { try { // 获取所有启用的定时任务 $tasks = cModel::queryEnable(); foreach ($tasks as $task) { $crontab = (new Crontab()) ->setName($task->crontab_id) ->setMemo($task->crontab_name) ->setEnable((bool)$task->enable) ->setRule($task->rule) ->setSingleton((bool)$task->singleton) ->setOnOneServer(true) ->setOptions(['skip_log' => $task->skip_log, 'callback' => $task->callback]) ->setCallback(explode('@', $task->callback)); $manager->register($crontab); } } catch (\Throwable $e) { // 记录日志 Log::record('动态加载crontab任务失败: ' . $e->getMessage(), 'error'); } } }