You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An RPC server is a long-running consumer process like any other, but rabbitmq:rpc-server is missing the process-lifecycle controls that rabbitmq:consumer and rabbitmq:multiple-consumer have:
no signal handling — SIGTERM/SIGINT kill the process mid-message instead of finishing the current reply first (problematic under supervisord/systemd/Kubernetes);
no graceful_max_execution / idle_timeout support in the rpc_servers config section.
In #712 a maintainer said a PR would be welcome, and #524 implemented this approach but was also closed by the stale bot before review.
I have a PR ready that re-implements #524 on current master, fixes several defects it had, and adds tests. Submitting it right after this issue.
An RPC server is a long-running consumer process like any other, but
rabbitmq:rpc-serveris missing the process-lifecycle controls thatrabbitmq:consumerandrabbitmq:multiple-consumerhave:--memory-limitoption — servers with slow memory leaks eventually crash with an allowed-memory-size error instead of exiting gracefully so a supervisor can restart them (previously reported in Add--memory-limittorabbitmq:rpc-server#712 and Memory leak or something else ? #545, both closed by the stale bot);graceful_max_execution/idle_timeoutsupport in therpc_serversconfig section.In #712 a maintainer said a PR would be welcome, and #524 implemented this approach but was also closed by the stale bot before review.
I have a PR ready that re-implements #524 on current master, fixes several defects it had, and adds tests. Submitting it right after this issue.