Я использую задачу расписания Laravel, и у меня есть два задания cron:
One has to run at 00:10
And another one at 08:00
Я хотел знать, установил ли я свою работу cron следующим образом:
*/10 * * * * php .../artisan schedule:run
будет ли это выполнять мою работу? что, если это задание cron будет выполняться в это время: 01:05, 01:15, 01:25,... будет ли оно запускать мое задание в 00:10, если оно пройдет с этого времени?
И что еще может быть лучшим заданием cron для этой ситуации?
@ nitin7805 Спасибо, я знаю, что документация предлагает делать это каждую минуту, но я не хочу этого делать, у меня есть виртуальный хостинг на этом сайте.
Вопросы, которые задают «Дайте мне выражение cron-расписания, которое запускает задание в X» без попытки, не относятся к теме Stack Overflow. Выражения расписания Cron очень хорошо объясняются во множестве доступных руководств, таких как man 5 crontab
, Вики-страница Cron, Информационная страница SO cron и, что наиболее важно, Почему мой crontab не работает и как его устранить?. Вам могут помочь инструменты crontab.гуру и cronmaker.com.
Вам нужно запустить только один cron для задачи расписания laravel. Что вам нужно изменить, так это установить время для этой запланированной задачи. См. https://laravel.com/docs/5.8/scheduling. Это гораздо лучше объясняет задачу расписания в laravel.
Спасибо, я это знаю, но я не хочу, чтобы cron работал каждую минуту, потому что не хватает ресурсов. У меня есть общий хостинг для этого сайта.
*/10 * * * * php .../artisan schedule:run
// this will run every 10 minutes: 01:00, 01:10, 01:20
Так что это все еще работает для вашего текущего сценария.
Однако, если у вас есть другая работа в 00:05, то вам придется снова изменить cron, что нецелесообразно. Почему бы вам просто не использовать * * * * * php .../artisan schedule:run
?
Из документация.
This Cron will call the Laravel command scheduler every minute. When the schedule:run command is executed, Laravel will evaluate your scheduled tasks and runs the tasks that are due.
Спасибо, потому что у меня есть общий хостинг для этого сайта.
Вы должны использовать « * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1 », как указано в документация . Это не пропустит ни одной работы, будь то в интервале 8 часов или в 00:10.