Я сконфигурировал своего работника-диспетчера, чтобы он попытался выполнить задание в 10 раз в лаваре в случае сбоя. Ниже приведен образец моей рабочей конфигурации.Как предотвратить работу в очереди после выполнения после сбоя?
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php home/vagrant/Code/lead_reactor/artisan queue:work database --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=vagrant
numprocs=8
redirect_stderr=true
stdout_logfile=home/vagrant/Code/lead_reactor/storage/logs/laravel-worker.log
Но у меня есть конкретные очереди Laravel работы, которую я хочу быть выполнен только один раз, независимо, если есть сбой или нет. Я хочу предотвратить будущие попытки выполнения задания, если есть сбой, не меняя конфигурацию моего рабочего.
Ниже приведена структура моего класса работы.
class SendBugReports extends Job implements SelfHandling, ShouldQueue
{
use InteractsWithQueue, SerializesModels;
protected $bugReports;
/**
* Create a new job instance.
*
*/
public function __construct()
{
$this->bugReports = BugReport::all();
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//job processes...
}
}
Любая помощь будет принята с благодарностью! :)
Спасибо Я глупо я проглядел, что часть Laravel документаций. –