我正在尝试创建一个Laravel 5应用程序,该应用程序应客户的要求每24小时执行一次脚本。但是由于该应用程序不应该响应任何HTTP请求,因此我不确定该如何处理。我遇到的问题是脚本的执行,因为它不会响应任何请求,我如何在Laravel应用程序的上下文中执行脚本?
在此框架中是否有可能?
答案 0 :(得分:2)
您可以在 PHP 中创建一个主循环,并使脚本保持运行状态,但请休眠,直到需要再次执行逻辑为止。缺点是,在PHP中,内存管理有些麻烦,因此即使您手动建议运行垃圾收集器,内存管理也可能会用完。
Linux 上的常见解决方案是设置 CRON作业,或者在 Windows 上使用 Windows Task Scheduler >将脚本设置为每24小时运行一次。
根据脚本,您可以在 CLI模式下运行 PHP ,并像其他命令行工具一样执行该脚本。或者,您可以运行 CURL 或类似的调用 URL 的脚本来执行脚本。
答案 1 :(得分:0)
Laravel框架具有内置的任务计划。 因此,您可以使用此功能安排要每24小时运行一次的任务。
以下是有关如何使用laravel https://laravel.com/docs/5.4/scheduling
创建cron作业和计划任务的文档。