laravel8.x 一个需求,一个录音文件异步生成,我采用10/15/20/25/30这种频率去拉取,如果当中有拉取失败则直接抛出异常。如果最后一次也拉取失败则放弃这个任务。 但是每次拉取失败都会写入错误日志。
我想问的是laravel除了抛出异常来终止本次任务,还有没有提供什么方法 直接终止本次任务,放入队列,等待延迟下一次执行同时也不写入错误日志
class Test implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $tries = 6;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
}
/**
* 计算重试任务前等待的秒数。
*
* @return array
*/
public function backoff()
{
return [10, 15, 20, 25, 30];
}
/**
* Execute the job.
*
* @return void
* @throws \Exception
*/
public function handle()
{
file_put_contents(base_path('1.txt'), date('Y-m-d H:i:s') . PHP_EOL, FILE_APPEND);
throw new \Exception('123');
}
}
在队列任务内部可以用 release 方法