Я создаю работу cron на laravel 5.3, редактируя app \ Console \ Kernel.php следующим образом:
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use DB;
class Kernel extends ConsoleKernel
{
protected $commands = [
//
];
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
$id = 1;
DB::table('orders')
->where('id', $id)
->update(['status ' => 2, 'canceled_at' => date("Y-m-d H:i:s")]);
})->everyMinute();
}
protected function commands()
{
require base_path('routes/console.php');
}
}
Я пытался проверить таблицу в базе данных, но она не обновляется
Как я могу проверить свою работу cron?
Вы можете выполнить следующие шаги:
1) Вы можете запустить php artisan list
введите команду в cmd и найдите свой хрон.
2) После того, как найдете свой cron, вы можете запустить php artisan yourcron
,
Вы можете следить за этим ссылка на сайт для более подробной информации о работе cron.
Надеюсь, эта работа для вас!
Перейдите в каталог проекта и запустите
php /path/to/artisan schedule:run
Подробнее об этом: https://laravel.com/docs/5.3/scheduling
эй, вы также можете создать лог-файл во время определения cron. как я создал мой …
* * * * * php /var/www/html/sharep/artisan ElasticSearch:ElasticSearchData >> /var/www/html/sharep.log 2>&1
этот cron запускается через 1 минуту. и журналы сохраняются в файле .log, как упомянуто выше.