ich mit Laravel Queues helfen müssen, wenn mir jemand weiter helfen kann, ich diese Schritte bis jetztVerwendung Datenbank Queue Laravel statt Sync Stellen
getan haben, änderte sich die QUEUE DRIVER in .env-Datei Datenbank
erstellt Migrationen für Tabellen Jobs Warteschlange und failed-Jobs
php artisan queue:table php artisan queue:failed-table
und ich habe ru n php Handwerkers wandern
erstellt einen neuen Job
php artisan make:job SendNewArticleNotification
Update:
Ok i erstellt haben, eine Route/Warteschlange
Route::get('/queue', function() {
dispatch(new \App\Jobs\SendNewArticleNotification);
});
und in meinem Job SendNewArticleNotification habe ich diese
<?php
namespace App\Jobs;
use App\User;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class SendNewArticleNotification implements ShouldQueue
{
use InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$users = User::all();
$article = \App\Article::first();
foreach ($users as $user) {
$user->notify(new \App\Notifications\Published($article));
}
}
}
Und wenn ich meine/queue Route treffen die E-Mails gesendet werden, beeing aber sie verwenden nicht die Datenbanktabelle .... es dauert mehr als 30 Sekunden 50 Mails senden ...
UPDATE
Ok ich endlich herausgefunden, dass dispatch() muss in einer Controller-Methode sein, weil der Controller hat die Trait-Jobs zu entsenden .... und jetzt sind meine Jobs in Warteschlange in DB-Tabelle Jobs .... so Wie kann ich sie hinter den Kulissen auslösen?