gpt4 book ai didi

php - 为什么连续运行 PHP 脚本如此糟糕?

转载 作者:可可西里 更新时间:2023-11-01 12:52:49 25 4
gpt4 key购买 nike

我有一张 map 。在这张 map 上,我想显示从几个表中收集的实时数据,其中一些表的行数惊人。不用说,获取此信息需要很长的时间。此外,还涉及 ping。根据离线或远离服务器的情况,此数据的收集可能需要 1 到 10 分钟不等。

我希望 map 快速且响应迅速,因此我决定向我的数据库中添加一个新表,其中仅包含 map 所需的数据。这意味着我需要一个后台进程来不断更新我的新表中的信息。 Cron 作业当然是可能的,但我希望在前一个间隔完成后立即刷新数据。如果离线 IP 地址的数量突然激增并且循环运行时间比 Cron 作业的间隔时间长怎么办?

我自己的解决方案是在 PHP 中创建一个由命令行运行的无限循环。这个循环会将 map 的数据刷新到 MySQL 中,并记录其他有用的数据,例如循环时间和 ping 尝试失败等,然后在短暂的暂停(几秒钟)后重新启动。

但是 - 人们反复告诉我,永远运行的 PHP 脚本是不好的。一段时间后,它将占用 GB 的 RAM(以及其他可怕的东西)

我写这个问题的部分原因是为了确认事实是否如此,但是关于如何编写一个不会泄漏内存(如果可能的话)的干净循环的一些提示和技巧不会走错了。对此事的意见也将不胜感激。

我认为我将标记为正确的问题最能说明问题的答复。

最佳答案

循环应该在一个脚本中,它将激活/调用实际脚本作为一个不同的进程......很像 cron 正在做的。
这样,即使内存泄漏,并且未收集的内存正在累积,它也会/应该在每个周期后释放。

关于php - 为什么连续运行 PHP 脚本如此糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5372119/

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