Laravel Queue: работа вечно работает на хосте?

У меня вопрос об очереди Laravel. во-первых, мой драйвер очереди - это база данных, если я однажды вызову задание cron с командой очередь: работа, очередь будет работать вечно? или я должен определить запуск задания cron каждую минуту?


person Morteza Negahi    schedule 07.11.2017    source источник
comment
проверьте свой файл laravel.log, у вас определенно есть какая-то ошибка в вашей работе.   -  person ankit patel    schedule 08.11.2017
comment
@ankitpatel мой вопрос касается задания cron .. мне нужно настроить cron для очереди вызовов: работать каждую минуту? или это делается с вызовом ежегодно   -  person Morteza Negahi    schedule 08.11.2017


Ответы (1)


вам нужно установить свою команду или очередь на каждую минуту в функции расписания файла Console/Kernel.php

Команда:

$schedule->command('your-command')->everyMinute();

Работа:

$schedule->job(new JOBCLASS)->everyMinute();

тогда вам нужно ввести

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

в вашем файле crontab на сервере, который каждую минуту проверяет файл вашего ядра, чтобы проверить, установлена ​​ли какая-либо команда или нет

person ankit patel    schedule 07.11.2017
comment
В чем разница между **** php /path artisan queue:work и **** php/path sheduler:run? - person Morteza Negahi; 08.11.2017
comment
@MortezaNegahi Очереди и планировщики — совершенно разные вещи! читайте документы! - person Steph; 08.11.2017
comment
Но шедулер:выполнить мою работу и очередь:работа запустить ее тоже! я не могу чувствовать это по-другому, спасибо за большую помощь :-) - person Morteza Negahi; 08.11.2017
comment
Вам нужно настроить планировщик для запуска вашего задания. Ответ, который я упомянул выше, установит все ваши задания в таблице заданий базы данных. и планировщик будет проверять каждую минуту, есть ли запись в таблице заданий или нет - person ankit patel; 08.11.2017
comment
как только вы установите планировщик, вам не нужно запускать schedule:run - person ankit patel; 08.11.2017