我通过编辑 app\Console\Kernel.php 在 laravel 5.3 上创建一个 cron 作业,如下所示:
<?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 作业?
在cmd中运行
php artisan list
命令并找到你的cron。
运行
php artisan yourcron
。
您可以点击我们的链接了解有关 cron 作业的更多详细信息。
嘿,您也可以在定义 cron 时创建日志文件。因为我已经创建了我的...
* * * * * php /var/www/html/sharep/artisan ElasticSearch:ElasticSearchData >> /var/www/html/sharep.log 2>&1
此 cron 会在 1 分钟后运行。日志保存在 .log 文件中,如上所述。