当前位置:  开发笔记 > 编程语言 > 正文

如何在不阻止的情况下轮询Web请求?

如何解决《如何在不阻止的情况下轮询Web请求?》经验,为你挑选了1个好方法。

我有两个Web请求,我需要轮询以查明它们何时返回.理想情况下,我不想继续测试它们.我想释放CPU,以便其他进程可以执行.

我目前正在使用Perl的Time :: HiRes :: sleep(0.100)函数在测试Web请求是否已返回之前释放CPU.

在负载测试期间,我可以看到睡眠持续时间"延伸".理想情况下,我想确保遵守睡眠持续时间,但CPU已被释放.我应该调用不同的功能来实现这一目标吗?

我在Linux 2.6上编写Perl代码.



1> Douglas Leed..:

而不是轮询,看看你是否无法获取文件描述符并进行选择调用.

然后,一旦发生任何事情,您将立即获得控制权,而根本不占用CPU.

Web请求中的某个位置将是一些套接字,并且附加到套接字将是可以在select中使用的文件描述符.

在任何情况下,您的程序可以在任何时间点中断任何时间; 如果这是一个真正的问题,你需要一个实时操作系统,但由于你正在处理网页请求,我怀疑你需要那种级别的响应.

实际上你想要的是一个高级接口,可以为你执行select调用.正如评论中所建议的那样:http://search.cpan.org/dist/HTTP-Async/看起来就像你需要的那样.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有