脚本宝典收集整理的这篇文章主要介绍了PHP中的编码理论:需要为多个队列引导流量(多路复用),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
用户上传的每个列表将包含50到1000个产品,并且将成为自己的队列.
目前,队列/列表可能每天增加10-20次(并通过完成删除)aPRox.
如果成功,流量可能会在几个月后升级到每天700-900个列表.
我们计划采用简单的循环方法,将流量均匀地引导到队列中.
多路复用器将从列表A,然后是列表B,然后列出C等依次抓取顶部项目,直到再次循环回到列表A …请记住,列表/队列可以随时添加/删除.
我面临的问题只是概念化管理.
我想过将每个队列存储为一个平面文件,并通过关系数据库(MySQL)管理轮换.考虑做反过来.想要完全平坦的文件或完全关系的DB …底线,我很灵活.
无论如何,当我试图通过循环旋转无状态地融合参与者的变量列表时,我的大脑只是蒸汽锁定(我刚从快节假日回来,我不认为我的大脑已经回家了;)
有没有人做过这样的事情?
你是怎么处理的呢?
如果你不得不再做一次,你会有什么改进?
注意:由于我们的stat引擎/工具的每个请求都会被隔开很多秒,如果不是几分钟,我需要保持这种无状态.
由于每个请求都成为自己的队列,并且所有请求队列在优先级上都被认为是相同的,因此理想的表数可能是三个.一个用于列出请求及其相对于另一个的优先级(以确定循环中接下来是谁)和处理状态,另一个用于列出尚待处理的每个请求的内容(列表项),以及第三个表列出每个队列中的已处理项目.
您还需要一个执行实际处理的脚本,该脚本不是由用户请求驱动,而是由定期执行的系统调度作业(根据您的需要限制).这当然也可以是PHP.您可以在此处设置10个一次列表检查和更新.
处理将类似于:
>从最高优先级队列中选择最多10个项目的下一组.
>处理它们,在完成时更新其DB状态.
>更新上述队列的优先级,使其成为最低优先级.
优先级可以用整数表示.
以上是脚本宝典为你收集整理的PHP中的编码理论:需要为多个队列引导流量(多路复用)全部内容,希望文章能够帮你解决PHP中的编码理论:需要为多个队列引导流量(多路复用)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。