Сначала нам нужно понять, как это работает.
Если мы возьмем интервал в 1 минуту для запуска планировщика cron [здесь мы запускаем его вручную, тем не менее он будет использовать 1 минуту согласно уровню laravel/ [cron-expression] design]
It checks interval base on minutes for => minute based crons
It checks interval base on day's first hour's first minute for => day based crons
and so on ...
Например: Если ваш cron настроен на запуск каждые 2 минуты. 0 */2 * * *
И мы предполагаем, что текущее время: 02:00PM
0 */2 * * *
будет работать только в течение этих временных интервалов
02:00PM to 02:01PM
02:02PM to 02:03PM
02:04PM to 02:05PM
02:06PM to 02:08PM
and so on ...
текущее времяis: 02:00PM
-> теперь, если вы запустите php artisan schedule:run
, ваш cron будет работать, так как текущее время находится между 14:00 и 02:01 PM
СЛЕДУЮЩЕЕ время выполнения будет между 14:02 PMдо 02:03 PM
СЕЙЧАС, если вы запустите php artisan schedule:run
в 14:01:30, ничего не произойдет, так как он не попадет ни в какой интервал времени выполнения
Теперь ваши задачи планировщика
1. everyMinute => every minute
2. '0 */6 * * *' => every 6th minute
3. '0 */12 * * *' => evry 12th minute
4. daily => each day
- everyMinute
это будетвыполнять все время, независимо от того, когда вы стреляете php artisan schedule:run
0 */6 * * *
каждую 6-ую минуту
Он имеет 6-минутный интервал, так что режим выполнения будет. [предположим, что его текущее время в 14:00]
-> it can execute between this time
02:00PM to 02:01PM
02:06PM to 02:07PM
02:12PM to 02:13PM
02:18PM to 02:19PM
and so on ...
так, чтобы выполнить
$schedule->call('Corymillz\Adverts\Component\PaidBoost@onPaidBoostMeb')
->cron('0 */6 * * *');
Время должно быть правильным.
Сначала убедитесь, что вы правильно установили часовой пояс. означает, что если вы печатаете
dd(\Carbon\Carbon::now());
Он должен показывать / печатать время на веб-странице точно так же, как время вашего компьютера / машины
Теперь запустите php artisan schedule:run
-> через определенный интервал, как я определил выше
Например: Если ваше время на часах: 5:13 PM
, то вам нужно подождатьчтобы получить 6 minute * 3 => 18
, так что следующий интервал будет 5:18PM to 5:19PM
Выполнить команду php artisan schedule:run
в промежутке между 5:18PM to 5:19PM
Вы можете видеть, что ваш cron выполняется точно. также для другого времени cron вы можете рассчитать свой интервал времени на основе вышеуказанной логики и запустить планировщик в этом интервале для выполнения других cron.
если есть сомнения, прокомментируйте.