任何人都有使用长期运行的Magento流程来减轻开销的经验。例如,对订单或客户资源的典型Magento API调用可能需要1秒或更多,可能有一半时间用于Magento开销,而不是特定于所讨论的API资源。
那么,如果Magento PHP进程在内存中进行了旋转和维护,等待API请求,那么它就可以处理它们,而无需每次都加载Magento。
我对长时间运行的php脚本的大多数搜索都提出了与PHP脚本故障排除相关的问题/问题,这些脚本花费的时间比预期的要长,以便他们处理的数据量b / c等等 - 所以我发现很难在这类事情上找到好的资源,如果它甚至可能的话。
更新:根据我的需要更具体一点:
答案 0 :(得分:1)
您可能希望查看proc-open
,并且您需要执行通常在操作系统本身中进行的大量管理。
然而,如果问题是速度问题而不仅仅是想要一种管道/分叉的方法来使用可用的硬件,我会考虑简单地找出系统中的瓶颈,并在潜入之前进行缓存。如WSDL缓存,数据库规范化,OP代码缓存甚至是memcache或反向代理缓存。 Alan在他的Mercury API产品(http://store.pulsestorm.net/products/mercury-api)
中确实有WSDL缓存我之前使用proc-open
使用同样的方法在不到8小时内导入超过500k的客户记录(通过我可能添加的Magento模型(堆栈))和32核心系统上的Magento地址。一个PHP文件充当主要入口点,基于数据块的新进程被分叉到执行实际导入的辅助PHP文件。
我确实利用这个小脚本对我提到的导入进行多线程处理,虽然这不是你问题的确切答案,因为它似乎没有特定于技术上的特定方面,但希望能提供一些有关可能性的见解: