看,我有一个看起来像这样的类,我希望每天在cron作业中使用此方法在laravel 5.1中缓存一些信息cacheTopFilters
keytool -list -v -alias myaliaskey -keystore keystore.jks
因为他们有依赖注入,我怎样才能在调度方法上调用app / console / kernel上的那个方法?
答案 0 :(得分:2)
您想看一下任务调度:
https://laravel.com/docs/5.1/scheduling#defining-schedules
在App\Console\Kernel
课程中,在schedule
函数内,你可以安排任何事情:
$schedule->call(function () {
doSomething();
})->daily();
假设你有调度程序设置(每分钟系统cron作业),你应该全部设置。
如果你有一个类,你需要实例化,注入依赖项,你总是可以使用Laravel为你提供的全局app()
辅助函数:
$schedule->call(function () {
app(\namespace\of\the\class::class)->cacheTopFilters(...);
})->daily();
这是假设Laravel知道如何处理您的依赖项。我看到你的一个依赖项是一个契约(接口)所以我假设你已经绑定了Laravel IoC中的具体实例。