Laravel - 如何每分钟运行一个函数/控制器?(任务调度)

Sam*_*ver 3 php cron laravel laravel-5

我有一个控制器方法,我想每分钟运行一次。我阅读了任务计划的文档,但它似乎只记录了命令。

有什么方法可以使用它每分钟调用路由/控制器方法/脚本吗?

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Acc;

class ScriptController extends Controller
{
    public function updateAcc()
    {
        $c = new Scripts\AccountA();
        $xoo = $c->getInfo();
        $z = json_decode($xoo,true);

        $data= new Acc();
        $data->price = $z["result"];
        $data->save();
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要使用数据库外观外部类等......

Jer*_*dev 8

是的,就像文档所述,您可以调用任何函数。因此您可以执行以下操作:

$schedule->call(function () {
    $controller = new \App\Http\Controllers\ScriptController();
    $controller->UpdateAcc();
})->everyMinute();
Run Code Online (Sandbox Code Playgroud)

然而,从 Web 上下文中调用控制器是非常糟糕的做法,您应该创建一个外观或一个执行所需代码的作业。