Laravel 5 24小时循环应用



我正试图创建一个Laravel 5应用程序,根据客户的请求,该应用程序每24小时执行一次脚本。但是由于这个应用程序不应该响应任何HTTP请求,我不知道该怎么做。我遇到的问题是脚本的执行,因为它不会响应任何请求,我如何在Laravel应用程序的上下文中执行脚本?

在这个框架下,这可能吗?

您可以在PHP中创建一个主循环,并让脚本继续运行,但在再次执行逻辑之前一直处于睡眠状态。不利的一面是,PHP中的内存管理有点失控,所以它可能会耗尽内存,即使您手动建议运行垃圾收集器也是如此。

Linux上的常见解决方案是设置CRON作业,或在Windows中使用Windows任务调度程序将脚本设置为每24小时运行一次。

根据脚本的不同,您可以在CLI模式下运行PHP,并像执行任何其他命令行工具一样执行它。或者,您可以运行CURL或类似于调用URL的程序来执行脚本。

Laravel框架内置了任务调度器。因此,您可以使用此功能来安排要每24小时运行一次的任务。

以下是如何创建cron作业和使用laravel创建任务调度程序的文档https://laravel.com/docs/5.4/scheduling

最新更新