Micronaut Netty事件循环配置未遵循SIGTERM下的关闭超时
Micronaut自定义Netty Event Loop优雅关闭宽限期不生效
我正在开发一个Micronaut服务,已配置自定义Netty Event Loop处理请求,需求是服务收到SIGTERM信号后,在关闭前继续处理正在进行的请求,保留40秒宽限期。但配置完成后,服务并未遵循该关闭宽限期。
相关配置(application.yaml)
micronaut: application: name: my-service server: port: ${SERVER_PORT:8080} netty: worker: event-loop-group: other netty: event-loops: other: num-threads: 5 io-ratio: 50 shutdown-quiet-period: '40s' shutdown-timeout: '40s'
测试情况
通过Postman发送请求验证,服务确实在使用配置的自定义Event Loop处理请求(例如线程名other-nioEventLoopGroup-3-2),说明事件循环配置已生效。
但发送SIGTERM信号模拟优雅关闭时,问题出现:尽管shutdown-quiet-period和shutdown-timeout都设为40秒,服务仍会立即关闭,不会等待正在进行的请求在宽限期内完成。
预期行为
应用收到SIGTERM后,应继续处理正在进行的请求,最长等待40秒,遵循配置的关闭超时参数。
实际行为
应用收到SIGTERM信号后立即关闭,未等待指定的关闭超时时间。
我想知道为什么Micronaut的Netty Event Loop关闭配置没有生效?是否遗漏了额外的配置项,或是我对Micronaut/Netty处理关闭信号的逻辑存在误解?
希望能得到确保应用遵循配置的关闭超时时间的见解或建议。
内容的提问来源于stack exchange,提问作者tyb9900
相关产品推荐
相关产品推荐

