2016-08-20 7 views
2

Well im Testen dieser neuen in Laravel umgesetzt Benachrichtigung Sachen 5.3 und seine große,Queue Benachrichtigung Laravel 5.3 Ausgabe

ich habe diese Benachrichtigung Klasse, die eine E-Mail an den authentifizierten Benutzer sendet (wenn er eine bestimmte Strecke trifft), der der Standardcode

Benachrichtigung

namespace App\Notifications; 

use Illuminate\Bus\Queueable; 
use Illuminate\Notifications\Notification; 
use Illuminate\Contracts\Queue\ShouldQueue; 
use Illuminate\Notifications\Messages\MailMessage; 

class notifyme extends Notification implements ShouldQueue 
{ 
    use Queueable; 

    public function __construct() 
    { 
     // 
    } 
    public function via($notifiable) 
    { 
     return ['mail']; 
    } 
    public function toMail($notifiable) 
    { 
     return (new MailMessage) 
        ->line('The introduction to the notification.') 
        ->action('Notification Action', 'https://laravel.com') 
        ->line('Thank you for using our application!'); 
    } 

Dies ist die Controller-Funktionen, die die Benachrichtigungsklasse

public function notifyme() 
    { 
     $user = Auth::user() 

     $user->notify(new notifyme($user)); 
     //$user->notify((new notifyme($user))->delay(Carbon::now()->addMinutes(10))); 

     return redirect('/home'); 
    } 

jetzt, während mit einem ubuntu o und Einstellen meiner Warteschlange Treiber als Sync-instanziiert, die auf gut funktionieren sollen localhost QUEUE_DRIVER="sync"

ich begann einen Arbeiter php artisan queue:work

Aber nichts zeigt auf den Terminal-Fenstern auch Seite noch ein bisschen langsam (Warteschlangen arbeiten nicht) i enter image description here

den Standard queue.php haben und ich habe nicht ändern, und wie bereits erwähnt, im sync als Fahrer Jede vorgeschlagene Lösung?

Antwort

6

sync Treiber verwendet keine Warteschlangen, ermöglicht es, Jobs zum Ausführen von Tests zum Beispiel synchron auszuführen.

Sie benötigen einen der Treiber von Laravel hier aufgeführt nutzen - Laravel queues oder installieren Sie einige benutzerdefinierte wie RabbitMQ oder etwas anderes

+0

ich, dass nur noch herausfinden, kam ich die Antwort zu löschen, aber Sie hatte ein Recht Antwort, so danke trotzdem (es funktioniert jetzt mit der Datenbank) –

+0

Ich weiß, das kann veraltet sein, aber ich habe das gleiche Problem. Was ist das bitte? Muss ich einen Job erstellen, um die Benachrichtigungen zu versenden? oder mache ich einfach '$ user-> notify ((neuer DoctorCheckedIn ($ Wert)) -> Verzögerung ($ Zeit));' ps: '$ Zeit' ist eine Kohlenstoff-Instanz. –