checkJob($data)){ $job->delete(); return; } //执行业务处理 if($this->doJob($data)){ $job->delete();//任务执行成功后删除 // print('dismiss job has been down and deleted'); }else{ //检查任务重试次数 if($job->attempts() > self::MAX_TIMES){ // print('dismiss job has been retried more that 3 times'); $job->delete(); } } } /** * 消息在到达消费者时可能已经不需要执行了 * @param array|mixed $data 发布任务时自定义的数据 * @return boolean 任务执行的结果 */ protected function checkJob($data) { return true; } /** * 根据消息中的数据进行实际的业务处理 */ protected function doJob($data) { // 实际业务流程处理 return true; } /** * 失败后的解决方案或提示 * @param $data * @return void */ public function failed($data){ //todo 可以在这儿给系统管理员发送邮件短信...来提醒 // ...任务达到最大重试次数后,失败了 print('Warning: Job failed after max retries. job data is :'.var_export($data,true)."\n"); } }