首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
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配置)
发布于6年前 · 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
回复