Ну, я тестирую этот новый материал для уведомлений, реализованный в laravel 5.3, и это здорово,
у меня есть этот класс уведомлений, который отправляет почту аутентифицированному пользователю (когда он попадает на определенный маршрут), который является кодом по умолчанию.
уведомление
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!');
}
Это функции контроллера, который создает экземпляр класса уведомлений.
public function notifyme()
{
$user = Auth::user()
$user->notify(new notifyme($user));
//$user->notify((new notifyme($user))->delay(Carbon::now()->addMinutes(10)));
return redirect('/home');
}
теперь при использовании Ubuntu OS и установке моего драйвера очереди в качестве синхронизации, которая должна нормально работать на локальном хосте QUEUE_DRIVER="sync"
я начал работать php artisan queue:work
Но на окнах терминала ничего не отображается, а страница все еще немного медленная (очереди не работают)
у меня есть queue.php по умолчанию, и я не изменил его, и, как я уже говорил, я использую синхронизацию в качестве драйвера
Любое предлагаемое решение?
sync
Драйвер не использует очереди, он позволяет синхронно запускать задания для запуска тестов.
Вам нужно использовать один из драйверов, предоставленных Laravel, перечисленных здесь — Laravel queues, или установите какой-нибудь кастомный как RabbitMQ или что-то еще
Других решений пока нет …