我正在构建一个社交媒体应用程序,其中用户需要发布一些内容,然后将这些发布的内容传播给他/她的4个圈子内的所有成员。这意味着查询进入循环。它就像一棵家谱。这个逻辑运行得非常好。但是现在,当每个循环中的成员数量不断增加时,execution超过了当前设置为90的最大执行时间,这已经足够好了。
我们不想增加时间限制,因为这不是一个永久的解决方案。因此,我们必须使用bath处理概念来实现这一点。就像用户在web上发布了一些东西,然后id和文本被移交给批处理脚本。响应以即时方式生成给web用户,批处理脚本继续在后台工作。
关于如何实现这一点的任何想法或想法。提前谢谢。
发布于 2015-08-12 22:00:41
我想您使用的是关系型数据库(如mysql)。根据我的经验,虽然它可以工作,但它肯定不是建模社交互动的最佳工具,因为它不是可伸缩/高效的。
您可能应该探索具有图形支持以解决此类问题的NoSQL数据库,如OrientDB http://orientdb.com/orientdb/。
不完全是你所建议的,但我认为这最终会让你免于头疼。
发布于 2015-08-13 07:46:41
您要查找的是一个名为Message queuing service的文件。
基本上,在你的应用程序中,你会发送一条消息,举例说明如何将内容分派给当前用户的圈子成员。然后这条消息将被一个消费者异步使用(你的应用程序的另一个运行的PHP实例能够处理这些消息)
看看RabbitMQ或者Beanstalkd,用PHP。
https://stackoverflow.com/questions/31967301
复制相似问题