Laravel 调度调用控制器
我使用 Laravel 任务调度,但是当我从控制器调用某些方法时遇到问题.
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('AppHttpControllersUserController@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 任务调度中从控制器调用方法哪种方式是正确的.
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('AppHttpControllersMyController@MyAction')->everyMinute();
我希望这会帮助其他人;)
I hope this will help someone else ;)
相关文章