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