Laravel调度呼叫控制器 [英] Laravel Scheduling call controller
问题描述
我使用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屋!