幸福的眼镜 · python数据分析-pandas基础3-数 ...· 5 月前 · |
闷骚的口罩 · 中文LLaMA模型和指令精调的Alpaca大 ...· 9 月前 · |
长情的豆腐 · 数理统计(一)| 剖析均值方差与标准差 - 知乎· 1 年前 · |
犯傻的葡萄 · MATLAB软件应用及语法学习基础_51CT ...· 1 年前 · |
高大的豌豆 · Selenium+java - ...· 1 年前 · |
我们需要分发软件,其中应该包含一个PHP脚本,将运行几分钟。因此,我正在寻找一种最佳的实践方法,在2017年做到这一点。
(请注意,我自己读过现有的博客文章和堆栈溢出问题,但找不到令人满意的答案)
也许有人知道像Symfony和Laravel这样的框架或者像Magento这样的网络商店是如何完成这些任务的?不过,我还是想知道如何在不使用框架或库的情况下,自己在普通PHP中完成这项工作。
有许多解决办法:
最好的解决方案肯定是队列和cron,然后是PHP,其余的都是垃圾。
你绝对不可能在别人的服务器上运行,除非你做了一些在某一时刻无法工作的事情。
Sidenote:你说过你不想让图书馆自己去做,我给图书馆添加了链接,因为阅读它们可以让你更深入地了解这种技术,这些图书馆质量很高。
如果您为Magento设置了一个常规的cron作业,则Magento只运行它。它有一个cron.sh,它每分钟运行一次,执行Magento队列中的作业。
任何通过http执行长期运行任务的解决方案都涉及到web服务器配置。
最后,我认为有两种方法可以通过HTTP请求(不让用户等待很长时间)在PHP中启动长时间运行的进程:
proc_open()
一样使用
symfony/process
。
备注:
symfony/process
:在文档中,您可以看到可以将FPM和
fastcgi_finish_request()
用于长期运行的任务。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券
长情的豆腐 · 数理统计(一)| 剖析均值方差与标准差 - 知乎 1 年前 |