Hy! Ich habe eine Anwendung, wo ich einige E-Mails bei bestimmten Aktionen (wie Benutzererstellung usw.) senden muss. Problem ist, dass sie nicht im Hintergrund laufen, stattdessen muss ich warten, bis der Prozess abgeschlossen ist, und dann leitet es mich auf eine andere Seite um. Ich verwende database
Treiber mit , Laravel 5.2
. Mein Code für E-Mail, für exp nach Benutzererstellung:Laravel Queue Job funktioniert nicht im Hintergrund
$this->dispatch(new WelcomeEmail($user));
Artisan::call('queue:work');
wo WelcomeEmail
der Job ist, die in der Warteschlange geschoben wird. Diese Art von Code wird an allen Stellen platziert, an denen eine E-Mail gesendet werden soll. Was ist falsch?
Ok, aber was ist, wenn ich keine Vorgesetzten verwenden möchte? Kann ich sie in einen Cron legen? – EBuzila
Ich entschied mich, mit Vorgesetzten zu arbeiten, und es funktioniert! Danke vielmals! – EBuzila
Nun, du brauchst * Supervisord * nicht zu verwenden, du könntest die Daemon-Option benutzen, aber es hat einige Auswirkungen auf den Code. Ehrlich gesagt, mit Supervisord ist ein guter Anruf, und es wird Ihnen einige Kopfschmerzen ersparen. Weitere Informationen finden Sie auf dem Link, den ich zur Verfügung gestellt habe. Kein Problem, es war Vergnügen. –