gpt4 book ai didi

php - Apache 不会在轮询时提供服务

转载 作者:行者123 更新时间:2023-11-29 02:58:53 24 4
gpt4 key购买 nike

我在用于开发的 Windows 8.1 机器上安装了 Wamp。我的问题是,在我运行执行轮询的脚本时,Apache 不会在合理的时间内为我提供来 self 正在处理的特定 Web 应用程序的页面。这是脚本及其后端实现

window.fetch_messages = function () // I call this when my page is loaded
{
var last_message = $("div.message:last").attr('data-ai_id');
var project_id = getParameterByName('project-id'); // Another one of my helpers

$.ajax({
url:'project_messages',
type:'POST',
data:{ project_id:project_id, latest_message:last_message },
timeout:50000,
success:new_messages,
error:function(data){ console.log(data); setTimeout(fetch_messages(),50000); }
});

};

和后端

do
{
$messages = $this->mentor_model->query_messages($this->project_id,$this->viewer, $this->last_message_id);

if($messages)
break;

usleep(25000);
}
while(empty($messages));

echo json_encode($messages);
exit;

这一切都有效,但如果 apache 没有响应我在合理时间内转到另一个页面或其他内容的其他请求,我将无法正常工作。我的机器上还有其他网络应用程序,它们在轮询时可以正常工作,但网络应用程序本身不会在合理的时间内响应其他请求,这只会在我在使用此脚本的页面上时发生。请注意,我还通过访问本地主机上使用 mysql 的另一个 wapp(coining)来确保 mysql 没有在此处出现问题,并且它响应良好。

apache 的交易是什么?有什么设置或我必须改变的东西吗?它应该能够很好地处理这个问题,因为它只是我测试的。

最佳答案

这不仅仅是一个资源处理问题。 session 的全面使用被阻止,因为有问题的脚本在运行时不允许使用 session 数据(因为它正在使用数据)。

一个简单的session_write_close()在脚本上调用 usleep()/sleep() 之前放置在循环中解决了我的问题。

在使用完 session 数据后将其放置在任何地方应该可以解决您的问题。

关于php - Apache 不会在轮询时提供服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26901862/

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