Digitalocean cron и Laravel

Мне трудно работать cron на Digitalocean. Я заметил, что есть два разных файла cron, я добираюсь до одного, добираясь до /etc/crontab и другой, введя команду crontab -e,

Чтобы сделать это более запутанным, оба из них имеют несколько разную «компоновку». Первый:

* *     * * *   root    php /var/www/Laravel artisan schedule:run >> /home/laravel.log

и второй:

* * * * * php /var/www/Laravel artisan schedule:run >> laravel.log

Вот часть планировщика Laravel:

protected $commands = [
'App\Console\Commands\SyncAPIs',
];

/**
* Define the application's command schedule.
*
* @param  \Illuminate\Console\Scheduling\Schedule  $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('media:sync')->everyThirtyMinutes();

// sync for yesterday to eliminate discrepancies
$schedule->command('media:sync ' . Carbon::yesterday())->dailyAt(6);
}

Дело в том, что laravel.log действительно создается, но я ничего не вижу в этом, и я не знаю, действительно ли выполняются мои команды. Означает ли это, что cron действительно работает? Как я могу отладить проблему, так как я не вижу в базе данных, что ее заполнил cron. Когда я иду в папку /var/www/Laravel и выполнить команды, которые должны вызываться в планировщике, dataabse заполняется правильно.

0

Решение

Может быть, вам нужно изменить эту строку:

* * * * * php /var/www/Laravel artisan schedule:run >> laravel.log

к:

* * * * * /usr/bin/php /var/www/Laravel artisan schedule:run >> laravel.log
0

Другие решения

Я нашел ответ на самом деле:

* * * * * php /var/www/Laravel/artisan schedule:run >> laravel.log

php работает глобально, но artisan должен быть указан путь, который находится в моей главной папке Laravel

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector