Laravel Cron Job在Windows 10中仅运行一次

时间:2019-05-01 11:29:36

标签: php laravel

我已经从Laravel文档:https://laravel.com/docs/5.7/scheduling

中创建了任务计划

我将其放置在everyMinute()中,当我使用该命令时它仅执行一次,而不是每分钟执行一次。我使用cronhub.io对其进行监视,结果是执行命令。

enter image description here

这是我执行的命令:

$ php artisan schedule:run
Running scheduled command: "E:\Laragon\bin\php\php-7.2.11-Win32-VC15-x64\php.exe" "artisan" update:weather > "NUL" 2>&1

App \ Console \ Kernel.php

<?php
...
class Kernel extends ConsoleKernel
{
...
protected function schedule(Schedule $schedule)
    {          $schedule->command('update:weather')->everyMinute()->thenPing("https://cronhub.io/ping/ce3d19a0-6c01-11e9-8ce3-9b563ae1be45");
    }

在我的 App \ Console \ Commands \ UpdateWeatherIcon.php 上     

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Enums\WeatherIcon;
use App\Weather;

class UpdateWeatherIcon extends Command
{
    protected $signature = 'update:weather';
    protected $description = 'Update Weather Icon every end of day';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        $weather = new WeatherIcon();

        $current_weather = Weather::find(1);
        $current_weather->current_weather = $weather->getRandomValue();
        $current_weather->updated_at = \Carbon\Carbon::now();
        $current_weather->save();
    }
}

它仅在Windows 10中运行一次吗?因为这是我第一次使用cron作业。

0 个答案:

没有答案