gpt4 book ai didi

php - 发送批量请求

转载 作者:行者123 更新时间:2023-11-29 14:31:21 24 4
gpt4 key购买 nike

我有一个执行以下操作的守护进程

  • 从 mysql 数据库检索网站成员(我使用 LIMIT 1000 一次检索 1000 行)
  • 将这些成员的信息发送到第三方服务器
  • 将每个成员标记为已处理
  • sleep 2 秒
  • 检索下一批 1000 个“未处理”成员并将其发送到第三方服务器。等等。

我想知道 php 守护程序(我正在使用系统守护程序库)是否是完成上述任务的最佳方法。

我担心浪费太多内存(PHP 就是这样出名的)

我还担心向第三方服务器发送多个请求,因为在流量高的日子,可能会有很多未收到的情况。

除了守护进程之外,还有其他工具可以用来完成此任务吗?考虑到有可能必须处理 mysql 表中超过 100K 行,并且任务对时间敏感,我可以实现哪些方法来提高效率。另外,我什么时候应该考虑添加更多服务器?

谢谢!

最佳答案

cron 应该是与第三方服务器进行同步作业的一个非常好的选择。考虑以下“改进”:

1) 一个锁定文件,用于防止多个作业并行启动并从正在运行的其他进程中获取额外的资源。并且还可以避免数据的重复处理。

2) 如果您尚未实现“信息更新”和“同步时间”,请检查您这边。例如,如果用户 A 自同步以来没有发生任何更改,您就不会再次同步他。

3) 考虑您需要多久同步一次数据,以及是否必须将其实时纳入选择查询中。结合用户/时间分布和其他因素,您可能最终会在一段时间内脚本无法同步那么多帐户。

4) 进行自己的内存清理,取消设置变量、取消链接文件,甚至重用相同的变量,这样就不会出现仅在脚本内使用 1 次的垃圾变量。请小心这一点,因为它可能会导致代码混淆。

当您将数据集发送到 php 进行处理时,还应考虑使用较小的数据集。数据库喜欢大数据集,而 php 不喜欢。

关于php - 发送批量请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9968346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com