12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- namespace app\job;
- use app\common\service\commission\RecordWaitCommission;
- use think\facade\Log;
- use think\queue\Job;
- class recordWaitCommissionsDetail
- {
- public function fire(Job $job, $data){
- //....这里执行具体的任务
- Log::error('ExecutingJob:orderId:'.$data['orderId']);
- $o = new RecordWaitCommission();
- $flag = $o->waitGiveOutCommission($data['orderId']);
- Log::error('ExecutedJob:orderId:'.$data['orderId'].json_encode($flag));
- if ($job->attempts() > 3) {
- Log::error('Job retried more than 3 times!orderId:'.$data['orderId']);
- $job->delete();
- }
- /* if ($flag == false){
- // 也可以重新发布这个任务
- $job->release(300); //$delay为延迟时间
- }*/
- //如果任务执行成功后 记得删除任务,不然这个任务会重复执行,直到达到最大重试次数后失败后,执行failed方法
- if ($flag == true){
- $job->delete();
- }
- }
- public function failed($data){
- // ...任务达到最大重试次数后,失败了,通知管理员
- }
- }
|