Ich habe meinen Supervisor-Mitarbeiter so konfiguriert, dass er im Falle eines Fehlers 3 mal einen Job in Laravel-Warteschlange versucht. Unten ist das Beispiel meiner Worker-Konfiguration.Verhindern, dass der Job in der Warteschlange nach einem Fehler ausgeführt wird?
[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
Aber ich eine bestimmte Laravel Auftragswarteschlange, die ich will, unabhängig nur einmal ausgeführt werden, wenn es zu einem Ausfall oder gar keine ist. Ich möchte die zukünftigen Versuche der Jobausführung verhindern, wenn es einen Fehler gibt, ohne meine Worker-Konfiguration zu ändern.
Unten ist die Struktur meiner Jobklasse.
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...
}
}
Jede Hilfe wird sehr geschätzt! :)
Dank Ich bin dumm ich übersehen, dass ein Teil der Laravel Dokumentationen. –