首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
服务端处理请求时,怎么设置超时?
1. 在提交问答前请尽可能回答以下问题: 2. 请详细描述问题的产生过程,贴出相关的代码,最好能提供一份可稳定重现的简单脚本代码。 ```php $http = new Swoole\Http\Server("127.0.0.1", 9501); $http->on("start", function ($server) { echo "Swoole http server is started at http://127.0.0.1:9501\n"; }); $http->on("request", function ($request, $response) { $response->header("Content-Type", "text/plain"); $response->end("Hello World\n"); }); $http->start(); ``` 3. 期望的结果是什么? 在`request`回调处理请求时,可能受限于一些资源问题,导致执行时间较长。这样可能出现客户端因为请求超时主动断连,但是服务端依然在处理请求,期望可以支持设置超时(例如fpm的max_execution_time配置)
发布于4年前 · 20 次浏览 · 来自
提问
happysir2020
1. 在提交问答前请尽可能回答以下问题: 2. 请详细描述问题的产生过程,贴出相关的代码,最好能提供一份可稳定重现的简单脚本代码。 ```php $http = new Swoole\Http\Server("127.0.0.1", 9501); $http->on("start", function ($server) { echo "Swoole http server is started at http://127.0.0.1:9501\n"; }); $http->on("request", function ($request, $response) { $response->header("Content-Type", "text/plain"); $response->end("Hello World\n"); }); $http->start(); ``` 3. 期望的结果是什么? 在`request`回调处理请求时,可能受限于一些资源问题,导致执行时间较长。这样可能出现客户端因为请求超时主动断连,但是服务端依然在处理请求,期望可以支持设置超时(例如fpm的max_execution_time配置)
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2020-04-13
鲁飞
可以设置`discard_timeout_request`配置项,丢弃已关闭链接的数据请求。 https://wiki.swoole.com/#/server/setting?id=discard_timeout_request
赞
0
回复
2020-04-13
happysir2020
回复
鲁飞
谢谢回复。 您描述的是针对的是未到到worker的请求,如果请求已经到达了worker,我想要限制worker处理这个请求的最大时长,有好的办法实现吗
赞
0
回复
微信公众号
热门内容
作者其它话题
- httpserver丢弃已经断开连接的客户端,heartbeat_idle_time失效
- 在使用进程间通信时,报server问题
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。