Планирование в Laravel 5.5 не работает должным образом - PullRequest
0 голосов
/ 13 июня 2019

Я создал командный файл в папке команд с именем «Турниры» и $ signature = 'tour: start', затем обновил его в файле Kernal.php с помощью этой команды:

$schedule->command('tournament:start')->everyFiveMinutes()->appendOutputTo(storage_path('logs/examplecommand.log'));

Затем установите задание cron на сервере следующим образом:

*/5 **** php /directory path/artisan schedule:run 1>> /dev/null 2>&1

Но запрос не выполняется. В чем может быть проблема ? я что-то пропустил в процессе планирования?

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

, поскольку ваш код выглядит хорошо

Так что это должно быть в App\Console\Kernel.php под schedule функцией

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{
     $schedule->command('tournament:start')
    ->everyFiveMinutes()
    ->appendOutputTo(storage_path('logs/examplecommand.log'));

     $schedule->call(function () {
        logger()->info(now());
    })->cron('* * * * *');

}

Так что tournament:start будет запускаться каждые пять минут

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

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

Вот запись cron на моем сервере

enter image description here

и вот моя функция расписания

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{
     $schedule->command('generate:report')
             ->hourly()
             ->between('5:00', '23:00');

    $schedule->command('sendEmail:deviceOffline')
             ->everyThirtyMinutes()
             ->between('5:00', '23:00');

}

, поэтому generate:report будет работать ежечасно с 5:00 до 11:00.

И sendEmail:deviceOffline будут запускаться каждые три минуты с 5:00 до 11:00 вечера

0 голосов
/ 13 июня 2019

Правильная строка для вставки в файл cronfile:

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

Кроме того, убедитесь, что ваша команда правильно зарегистрирована: https://laravel.com/docs/5.5/artisan#registering-commands

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...