Laravel在本地主机上排队

在 PHP 框架Laravel 中,生产环境中的工作进程(例如supervisor)会确保存储在Redis中的任务得到执行。如果想在本地主机上完全独立于此,可以使用同步驱动程序立即执行任务。然而,这样做的缺点是当前的 PHP 进程会被阻塞,请求会一直挂起,直到任务完成。


最好调用另一个PHP实例来启动一次性工作进程。 以下实现还照顾到Windows / Mac / Linux的差异。 我们首先以通常的方式定义工作:

e24ced88a284d02f2ab5c64bb5905fce

然后,我们创建一个通用助手来执行:

e24ced88a284d02f2ab5c64bb5905fce

最后,我们在控制器中调用此函数:

e24ced88a284d02f2ab5c64bb5905fce

背部