I create a cron job on laravel 5.3 by editing app\\Console\\Kernel.php like this :
<?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');
}
}
I tried to check on the table in the database, but it does not update
How can I test my cron job?
You can follow below steps:
1) You can run php artisan list
command in cmd and find your cron.
2) After find your cron, then you can run php artisan yourcron
.
You can follow this link for more details about cron job.
Hope this work for you!
Go to the project directory and run
php /path/to/artisan schedule:run
More info about that: https://laravel.com/docs/5.3/scheduling
hey you can create log file too at the time of defining cron. as i ahve created mine...
* * * * * php /var/www/html/sharep/artisan ElasticSearch:ElasticSearchData >> /var/www/html/sharep.log 2>&1
this cron run after 1 minute. and the logs saves in .log file as mention above.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.