EmailJob.php 973 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: zhoujun
  5. * Date: 2018/9/1
  6. * Time: 11:58
  7. */
  8. namespace addons\faqueue\library\jobs;
  9. use addons\faqueue\model\FaqueueLog;
  10. use app\common\library\Email;
  11. use think\Log;
  12. use think\queue\job;
  13. class EmailJob
  14. {
  15. public function fire(Job $job, $data){
  16. $email = new Email();
  17. $result = $email->subject($data['subject'])
  18. ->to($data['to'])
  19. ->message($data['message'])
  20. ->send();
  21. if($result){
  22. $job->delete();
  23. (new FaqueueLog())->log($job->getQueue(),$job->getName(),$data);
  24. }else{
  25. $job->release();
  26. Log::write("邮件发送失败:".print_r([
  27. 'name' => $job->getName(),
  28. 'error'=> $email->getError()
  29. ],true),'error');
  30. }
  31. }
  32. public function failed($data){
  33. Log::write("邮件任务失败:".print_r(['data' => $data,],true),'error');
  34. }
  35. }