为了发出长轮询(彗星)推送请求,将 PHP 中的 max_execution_time 更改为 5 分钟之类的值是否不好?

发布于 2024-11-04 01:19:38 字数 420 浏览 0 评论 0原文

我正在尝试制作一个类似于 Facebook 的半实时通知系统,为此我期待使用长轮询而不是无意识的轮询(每 N 秒轮询一次)。

是的,我没有使用 Apache,我使用的是 Nginx,它可以处理这种类型的轮询。

现在出现了一个问题,我读到的有关长轮询主题的所有教程都显示了示例,其中如果没有返回数据,ajax 请求将在 30-50 秒内超时,然后再次轮询,这对我来说毫无意义,因为以前我曾经每 30 秒轮询一次服务器以检查通知,长轮询如何使情况变得更好?它仍然会每 30 - 50 秒重新连接一次。

出于这个原因,我认为可以选择将 max_execution_time 从默认的 60 更改为 300 或 400,然后轮询请求,该请求在超时和重新连接之前等待至少 5 分钟。

这样做会产生不良副作用吗?这种方法有缺陷吗?或者有更好的方法吗?

谢谢。

I am trying to make a semi-realtime notification system sort of like on Facebook and for that I am looking forward to using long polling instead of mindless polling (polling every N seconds).

Yes, I am not using Apache, I am on Nginx which can handle this type of polling.

Now a question arose, all the tutorials I read about this subject matter of long polling show examples where the ajax request timeout in 30-50 seconds if no data is returned and then poll again, that made no sense to me because previously I used to poll the server every 30 seconds to check for notifications, how does the long polling make the situation any better? it will still be reconnecting every 30 - 50 seconds.

For that reason I considered that it might be an option to change max_execution_time from the default 60 to 300 or 400, then poll with a request that waits for at least 5 mins before timing out and reconnecting.

Can I expect any bad side effects of doing so? Is this approach flawed? Or is there a better approach?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三岁铭 2024-11-11 01:19:38

更好的方法是使用针对此类任务进行优化的后端,例如 node.js

但是,如果您想使用 PHP,则没有理由反对提高最大执行时间。

The better approach would be using a backend optimized for tasks like that, e.g. node.js.

However, if you want to use PHP, there's no reason against raising the max execution time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文