Я изменил драйвер очереди в .env
и config/queue.php
с sync
на database
.Затем я запустил php artisan cache:clear
.
Я создал новое задание с помощью команды php artisan make:job SendEmailJob
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use App\Mail\SendEmailMailable;
use Illuminate\Support\Facades\Mail;
class SendEmailJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Mail::to('hello@example.com')->send(new SendEmailMailable());
}
}
Затем я написал этот маршрут в routes\web.php
use App\Jobs\SendEmailJob;
use Carbon\Carbon;
use Illuminate\Bus\Dispatcher;
Route::get('sendEmail', function(){
$job = (new SendEmailJob())->delay(Carbon::now()->addSeconds(5));
dispatch($job);
return 'Email is sent properly';
});
Я остановил php artisan serve
, снова запустил.
Я проверил результат env('QUEUE_DRIVER', 'database');
, он возвращает database
.
Я запустил php artisan queue:work
, но выходных данных нет.Письмо, отправленное на SMTP-сервер, например sync
driver.
Есть что-то, что я пропустил?
Моя версия PHP 5.6 .