Я создал событие, которое при срабатывании слушателя отправляет задание с задержкой 20 секунд.единственная цель этой работы - отправить электронное письмо пользователю, когда он пытается войти в систему.проблема в том, что когда я запускаю
php artisan queue:work
, ничего не отображается в терминале, и ни одно задание не задерживается.но, тем не менее, электронное письмо отправляется пользователю.Для получения дополнительной информации я использую телескоп для отладки.мой драйвер - база данных. [output] [1]
мой код для задания
class sendEmail implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public $user;
public function __construct($user)
{
$this->user=$user;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
\Mail::to($this->user)->send(new \App\Mail\subscriptionLetters());
}
}
при отправке задания
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param UserLoggedIn $event
* @return void
*/
public function handle(UserLoggedIn $event)
{
\App\Jobs\sendEmail::dispatch($event->user)->delay(Carbon::now()->addSeconds(20));
}
}
```[command in terminanl][2]
[1]: https://i.stack.imgur.com/UDADW.png
[2]: https://i.stack.imgur.com/V8EFm.png