在app目录下创建目录job,创建类文件
```
~~~
<?php
namespace app\job;
use think\facade\Log;
use think\queue\Job;
class Test
{
public function fire(Job $job, $data)
{
// 处理业务逻辑返回为true表示消费成功,则删除队列
if($this->test($job->attempts())){
// 删除队列
$job->delete();
}else{
// 判断执行失败次数,到达设置值后删除消息队列
if ($job->attempts() >= 10) {
Log::channel('qxsp')->info('到达规定次数删除了');
// 删除队列
$job->delete();
}else{
Log::channel('qxsp')->info('继续执行');
// 重庆消息队列,重要:如果没有这样设置,默认的是1失败后1分钟执行一次,这样设置的话达到失败后隔多久执行下一次。官方的坑研究了好久。
$job->release(120);
}
}
}
// 处理业务逻辑
public function test($data)
{
Log::channel('qxsp')->info($data);
return false;
}
}
~~~
```