It appears that MemoryMonitor sends a SIGINT to the worker immediately, which currently doesn't provide any time for the in-flight requests to finish. Is it feasible to:
- trigger GC for configurable amount of time (default: one interval cycle), and then do the worker termination?
- when terminating, stop accepting new connections, but wait a configurable amount of time for in-flight requests to drain (default: one interval).
- anything still incomplete after that can be forcefully terminated.
I recognize these are technically not things that MemoryMonitor can do (GC and graceful draining of connections need to happen in worker) but adding it here since I expect MemoryMonitor to participate in the phased approach to worker termination.
Thanks!
It appears that MemoryMonitor sends a SIGINT to the worker immediately, which currently doesn't provide any time for the in-flight requests to finish. Is it feasible to:
I recognize these are technically not things that MemoryMonitor can do (GC and graceful draining of connections need to happen in worker) but adding it here since I expect MemoryMonitor to participate in the phased approach to worker termination.
Thanks!