DemoJob.php 821 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace app\job;
  3. use app\utils\LogUtil;
  4. use think\queue\Job;
  5. /**
  6. * 任务队列 示例
  7. * Class DemoJob
  8. * @package app\task
  9. * Author: Panda joeyoung0314@qq.com
  10. * Gitee: https://gitee.com/xertao
  11. */
  12. class DemoJob{
  13. const LOG_MODULE = 'DemoJob';
  14. public function __construct()
  15. {
  16. //日志统一写入
  17. register_shutdown_function([new LogUtil, 'close']);
  18. LogUtil::getInstance('Job/'); //设置日志存入通道
  19. }
  20. /**
  21. * fire是消息队列默认调用的方法
  22. * @param Job $job 当前的任务对象
  23. * @param array|mixed $data 发布任务时自定义的数据
  24. */
  25. public function fire(Job $job,$data)
  26. {
  27. LogUtil::info('任务队列', self::LOG_MODULE,__FUNCTION__, $data);
  28. $job->delete();//任务执行成功后删除
  29. }
  30. }