12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace app\job;
- use think\facade\Log;
- use think\queue\Job;
- use app\api\model\subscribe\WechatSub;
- use app\common\model\ms\MsActivityGood;
- class MiaoshaPushSubscribe
- {
- public function fire(Job $job=null, $data){
- //....这里执行具体的任务
- Log::error('ExecutingJob:'.json_encode($data));
- $user_id = $data['user_id'];
- $ms_id = $data['ms_id'];
- $wechatSub = new WechatSub('miaosha');
- $msGoods = MsActivityGood::where('id',$ms_id)->find();
- //推送
- if($msGoods){
- Log::error("ExecutingJob 2");
- $thing1 = $msGoods->goods_name;
- $amount2 =$msGoods->ms_price;
- $time3 = substr($msGoods->start_time,0,15);
- $think4 = '距离秒杀开始还有5分钟';
- $page = 'pages/activity/pages/seckill/index/index?activityId='.$msGoods->ms_activity_id.'&share="xcx"';
- $pdata =['thing1'=>["value"=>$thing1],'amount2'=>["value"=>$amount2],'time3'=>["value"=>$time3],'thing4'=>["value"=>$think4]];
- Log::error("ExecutingJob push start");
- $key = $wechatSub->getMiaoShaKey($user_id,$data['template_id'],$data['ms_activity_id']);
- $res = $wechatSub->pushSubByKey($user_id,$page,$pdata,$key);
- Log::error("ExecutingJob push end");
- //如果任务执行成功后 记得删除任务,不然这个任务会重复执行,直到达到最大重试次数后失败后,执行failed方法
- $log = 'miao sha res:'.json_encode($res).'data:'.json_encode($pdata);
- // log_record($log);
- Log::error("res".$log);
- }
- Log::error("ExecutingJob finish");
- $flag = true;
- if ($job&&$job->attempts() > 3 ) {
- $job->delete();
- }
- if ($job&&$flag == true){
- $job->delete();
- }
-
- }
- public function failed($data){
- // ...任务达到最大重试次数后,失败了,通知管理员
- }
- }
|