How can I test my cron job in localhost windows? (laravel 5.3)

25.6k Views Asked by At

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?

3

There are 3 best solutions below

3
On BEST ANSWER
  1. Run php artisan list command in cmd and find your cron.

  2. Run php artisan yourcron.

You can read this blog post on our website for more details about cron jobs.

0
On

Go to the project directory and run

php /path/to/artisan schedule:run

More info about that: https://laravel.com/docs/5.3/scheduling

0
On

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.