Laravel调度呼叫控制器 [英] Laravel Scheduling call controller

查看:69
本文介绍了Laravel调度呼叫控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Laravel Task Scheduling,但是从控制器调用某些方法时遇到了问题.

I work with Laravel Task Scheduling, but I have a problem when I call some method from my controller.

protected function schedule(Schedule $schedule)
{
    $schedule->call('UserController@deleteInactiveUsers')->everyMinute();
    //$schedule->call('App\Http\Controllers\UserController@deleteInactiveUsers')->everyMinute();
}

当我打非注释线路呼叫时,出现此错误:

When I call with uncommented line i get this error:

[ReflectionException]
Class RecurrenceInvoiceController does not exist

然后插入完全限定的名称空间路径,然后出现此错误:

and then I insert fully qualified namespace path and then I get this error:

[PDOException] SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

还有

[ErrorException] PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known 

问题出在哪里?从Laravel Task Scheduling中的Controller调用方法是正确的方法.

Where is the problem? Which way is correct to call method from Controller from Laravel Task Scheduling.

推荐答案

几个月前,我偶然遇到了同样的问题,直到可以解决. 我使用laravel 5.2,内核以这种方式调用驱动程序:

I stumbled months ago with the same problem, until I could fix it. I use laravel 5.2 and the kernel call my drivers this way:

$schedule->call('App\Http\Controllers\MyController@MyAction')->everyMinute();

我希望这会对其他人有所帮助;)

I hope this will help someone else ;)

这篇关于Laravel调度呼叫控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆