# 具体任务的异常捕获 # Task任务中的异常捕获 同样也非常简单,只要使用try,catch即可 ~~~ /** *异步任务处理中心 */ public function onTask($serv, $task_id, $from_id, $data) { try { echo "This Task {$task_id} from Worker {$from_id}\n"; Tool::TaskLog($data,1,"定时任务,开始执行");//添加操作日志到数据库 $taskResult = \isslib\crontab\TaskFactory::dispatch($data); if($data['onetime']) { //一次性任务,执行完成,自动删除 Db::table(Tool::getPrefix('system').'timer')->where('timer_id',$data['timer_id'])->update(['status'=>-1]); } return $data; } catch (\Exception $e) { //捕获到异常,写日志到数据库 Tool::TaskLog($data,5,$e->getMessage()); } } ~~~