From 07ad84c66a176fdb4c853a10ff2949dbfa3857e1 Mon Sep 17 00:00:00 2001 From: Luke Bakken Date: Tue, 19 Sep 2017 15:54:57 -0700 Subject: [PATCH 1/2] Add optional Restart and RestartSec configuration See rabbitmq/rabbitmq-server#1359 This gives guidances for those users who wish to automatically restart RabbitMQ in the event of a failure. Tested by using the `Restart=on-failure` setting, then running `rabbitmqctl eval "erlang:halt(abort)."` --- packaging/RPMS/Fedora/rabbitmq-server.service | 12 ++++++++++-- packaging/debs/Debian/debian/rabbitmq-server.service | 8 ++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/packaging/RPMS/Fedora/rabbitmq-server.service b/packaging/RPMS/Fedora/rabbitmq-server.service index 47b85f7..6376621 100644 --- a/packaging/RPMS/Fedora/rabbitmq-server.service +++ b/packaging/RPMS/Fedora/rabbitmq-server.service @@ -6,12 +6,20 @@ After=syslog.target network.target Type=notify User=rabbitmq Group=rabbitmq +NotifyAccess=all +TimeoutStartSec=3600 +# Note: +# You *may* wish to add the following to automatically restart RabbitMQ +# in the event of a failure. systemd service restarts are not a +# replacement for service monitoring. Please see +# http://www.rabbitmq.com/monitoring.html +# +# Restart=on-failure # https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart= +# RestartSec=10 # https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartSec= WorkingDirectory=/var/lib/rabbitmq ExecStart=/usr/sbin/rabbitmq-server ExecStop=/usr/sbin/rabbitmqctl stop ExecStop=/bin/sh -c "while ps -p $MAINPID >/dev/null 2>&1; do sleep 1; done" -NotifyAccess=all -TimeoutStartSec=3600 [Install] WantedBy=multi-user.target diff --git a/packaging/debs/Debian/debian/rabbitmq-server.service b/packaging/debs/Debian/debian/rabbitmq-server.service index a62b12f..898f8ed 100644 --- a/packaging/debs/Debian/debian/rabbitmq-server.service +++ b/packaging/debs/Debian/debian/rabbitmq-server.service @@ -10,6 +10,14 @@ User=rabbitmq Group=rabbitmq NotifyAccess=all TimeoutStartSec=3600 +# Note: +# You *may* wish to add the following to automatically restart RabbitMQ +# in the event of a failure. systemd service restarts are not a +# replacement for service monitoring. Please see +# http://www.rabbitmq.com/monitoring.html +# +# Restart=on-failure # https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart= +# RestartSec=10 # https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartSec= WorkingDirectory=/var/lib/rabbitmq ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop From c811fba5d9d4e54ef63d6b9f9e7d93a82281e824 Mon Sep 17 00:00:00 2001 From: Luke Bakken Date: Wed, 20 Sep 2017 09:57:38 -0700 Subject: [PATCH 2/2] Add settings to have systemd restart RMQ on failure --- packaging/RPMS/Fedora/rabbitmq-server.service | 8 +++----- packaging/debs/Debian/debian/rabbitmq-server.service | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/packaging/RPMS/Fedora/rabbitmq-server.service b/packaging/RPMS/Fedora/rabbitmq-server.service index 6376621..b7760ca 100644 --- a/packaging/RPMS/Fedora/rabbitmq-server.service +++ b/packaging/RPMS/Fedora/rabbitmq-server.service @@ -8,14 +8,12 @@ User=rabbitmq Group=rabbitmq NotifyAccess=all TimeoutStartSec=3600 -# Note: -# You *may* wish to add the following to automatically restart RabbitMQ +# The following setting will automatically restart RabbitMQ # in the event of a failure. systemd service restarts are not a # replacement for service monitoring. Please see # http://www.rabbitmq.com/monitoring.html -# -# Restart=on-failure # https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart= -# RestartSec=10 # https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartSec= +Restart=on-failure # https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart= +RestartSec=10 # https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartSec= WorkingDirectory=/var/lib/rabbitmq ExecStart=/usr/sbin/rabbitmq-server ExecStop=/usr/sbin/rabbitmqctl stop diff --git a/packaging/debs/Debian/debian/rabbitmq-server.service b/packaging/debs/Debian/debian/rabbitmq-server.service index 898f8ed..a1e5d8a 100644 --- a/packaging/debs/Debian/debian/rabbitmq-server.service +++ b/packaging/debs/Debian/debian/rabbitmq-server.service @@ -10,14 +10,12 @@ User=rabbitmq Group=rabbitmq NotifyAccess=all TimeoutStartSec=3600 -# Note: -# You *may* wish to add the following to automatically restart RabbitMQ +# The following setting will automatically restart RabbitMQ # in the event of a failure. systemd service restarts are not a # replacement for service monitoring. Please see # http://www.rabbitmq.com/monitoring.html -# -# Restart=on-failure # https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart= -# RestartSec=10 # https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartSec= +Restart=on-failure # https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart= +RestartSec=10 # https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartSec= WorkingDirectory=/var/lib/rabbitmq ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop