如何在laravel 5.1中运行类的方法作为cron任务

时间:2016-02-23 20:05:02

标签: php cron laravel-5.1

看,我有一个看起来像这样的类,我希望每天在cron作业中使用此方法在laravel 5.1中缓存一些信息cacheTopFilters

keytool -list -v -alias myaliaskey -keystore keystore.jks

因为他们有依赖注入,我怎样才能在调度方法上调用app / console / kernel上的那个方法?

1 个答案:

答案 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中的具体实例。