You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:30:09