丢失'发布'请求发送到Pylons paster服务器

时间:2010-03-30 13:43:40

标签: python http qt pylons paster

我正在向Pylons服务器发送帖子请求(由paster服务提供),如果我以任何频率发送它们,许多人都不会到达服务器。一次一个是好的,但是如果我在几秒钟内关闭一些(或更多),只需要处理一小部分。如果我发送没有发布数据,或者使用get,它可以正常工作,但在post字段中只放置一个数据字符会造成巨大损失。

例如,发送200,2将返回。缓慢发送100,将返回10。

我在Qt应用程序中创建请求表单。这将是正常的(没有数据):

  

QString postFields =“”   QNetworkRequest   请求(QUrl( “http://server.com/endpoint”));   QNetworkReply * reply =   networkAccessManager->柱(请求,   postFields.toAscii());

这将导致只处理一小部分请求:

  

QString postFields =“”   QNetworkRequest   请求(QUrl( “http://server.com/endpoint”));   QNetworkReply * reply =   networkAccessManager->柱(请求,   postFields.toAscii());

我打开了 use_threadpool 和其他选项( threadpool_workers threadpool_max_requests = 300),其中一些组合可以稍微改变结果(最好的情况是在200中的10个回复)。

如果我向其他(非贴纸)服务器发送类似的请求,回复就会回来,所以我几乎可以肯定它的服务配置问题。

非常感谢任何帮助或建议。

由于

菲利普

2 个答案:

答案 0 :(得分:1)

感谢您的回复。

跟踪它是因为paster服务仅支持HTTP 1.0,因此没有响应100个代码的初始请求。

切换到Apache,现在都在工作!

答案 1 :(得分:0)

您可以在贴纸/挂架上添加日志记录,以找到丢失这些请求的确切位置吗?您确定QT应用程序是否正常工作,是否可以限制QNetworkRequest中的并发连接数? AFAIR QT网络使用单独的线程进行从线程池分配的连接。尝试在QT端添加错误处理。

相关问题