Асинхронная работа Ларавела

Я хочу выполнять асинхронные задания Laravel и работать вечно. Насколько я понимаю, мне нужно настроить задания и поместить их в отдельные очереди.

Я поставил .env - QUEUE_DRIVER=database и беги php artisan queue:table а также php artisan migrate соответственно.

и я побежал php artisan make:job MyJob

(на данный момент таблица очередей пуста, но я не знаю, сделал ли я что-то не так)

Главное, что я запутался, это как запустить все задания и запустить их навсегда или запустить задание изначально?

Насколько я понимаю, чтобы вызвать работу мне нужно позвонить:

MyFirstJob::dispatch();

но куда мне его призывать, чтобы он работал постоянно и навсегда?

2 ответа

Решение

Вам нужно поставить все рабочие места

$schedule->job(new Job1)->everyMinute(); 
$schedule->job(new Job2)->everyMinute(); 
$schedule->job(new Job3)->everyMinute(); 

под функцией schedule() в kernel.php, а затем планировщик будет обрабатывать все задания.

Вы можете получить лучшую идею по этой ссылке

https://spiderwebsolutions.com.au/laravel-5-1-and-job-queues-tutorial/

Другие вопросы по тегам