繁体   English   中英

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

[英]Laravel Cron Job Run only once in windows 10

我从 Laravel 文档创建了一个任务调度: https ://laravel.com/docs/5.7/scheduling

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

在此处输入图像描述

这是我执行的命令:

$ 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

应用\控制台\内核.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 作业。

你最常运行这个命令

$ php artisan schedule:work

如果您在共享主机上设置 cronjob,则必须添加此命令

cd /home/admin/domains/yourdomain.com/projectfolder && php artisan schedule:run >> /dev/null 2>&1 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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