Sendsms.php 974 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /***
  3. * User: jun_hy
  4. * Date: 2022/7/14
  5. * Time: 10:48
  6. */
  7. namespace app\job;
  8. use think\queue\Job;
  9. use app\common\model\Assms;
  10. use think\Db;
  11. class Sendsms
  12. {
  13. public function fire(Job $job, $data)
  14. {
  15. $send =new Assms();
  16. $result = $send->sendSms($data);
  17. if (isset($result['msg'])&&!empty($result['msg'])) {
  18. $isJobDone = true;
  19. }else{
  20. $isJobDone = false;
  21. }
  22. $new['uptime']=time();
  23. $new['status']=3;
  24. if ($isJobDone) {
  25. //如果任务执行成功, 删除任务
  26. $log_id =$data['log_id'];
  27. Db::name('sms_log')->where($log_id)->update($new);
  28. $job->delete(); // 删除任务
  29. }else{
  30. if ($job->attempts() > 3) {
  31. $job->delete(); // 删除任务
  32. }else{
  33. //如果任务执行失败, 重发 100秒后在执行
  34. $job->release(100);
  35. }
  36. }
  37. }
  38. }