我正在尝试建立一个类似推特的关注机制。用户采取行动。我们列出所有用户的关注者,然后用一些信息填充他们的所有流。由于这可能需要一些时间(如果您有 10,000 个关注者,即 10,000 个流要插入信息,即可能有 10,000 个 SQL 调用),我想确保这是在后台完成的,而采取行动的用户可以去继续他的生活。
所以,我正在考虑的策略是这样的:
- 用户采取行动。
- php 脚本打开另一个 php 脚本,它将完成所有工作,这可能需要一两秒钟。
- 同时,采取行动的用户可以继续他们的生活,他们的脚本只是继续,而且速度很快。
想法?我也尝试过使用队列,比如 SQS,但这种方法听起来也可以吗?另外,它的优势(对我来说)是更容易在本地测试并且更容易在非 ec2 主机上运行。
如果这是一个好方法,我将如何从 php 脚本中打开 php 脚本?是否可以像(如果 php 脚本位于 url)那样简单地获取该脚本所在的 url?