简体   繁体   中英

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

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM