在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;
}
}
~~~
```