diff --git a/awx/conf/views.py b/awx/conf/views.py index 107910b2b3..18f8a6d2d5 100644 --- a/awx/conf/views.py +++ b/awx/conf/views.py @@ -10,6 +10,7 @@ import socket from socket import SHUT_RDWR # Django +from django.db import connection from django.conf import settings from django.http import Http404 from django.utils.translation import ugettext_lazy as _ @@ -130,7 +131,8 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView): setting.save(update_fields=['value']) settings_change_list.append(key) if settings_change_list: - handle_setting_changes.delay(settings_change_list) + connection.on_commit(lambda: handle_setting_changes.delay(settings_change_list)) + def destroy(self, request, *args, **kwargs): instance = self.get_object() @@ -145,7 +147,7 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView): setting.delete() settings_change_list.append(setting.key) if settings_change_list: - handle_setting_changes.delay(settings_change_list) + connection.on_commit(lambda: handle_setting_changes.delay(settings_change_list)) # When TOWER_URL_BASE is deleted from the API, reset it to the hostname # used to make the request as a default. diff --git a/awx/main/tasks.py b/awx/main/tasks.py index 26e73f4d6e..fd2ecb121b 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -288,7 +288,7 @@ def handle_setting_changes(setting_keys): setting.startswith('LOG_AGGREGATOR') for setting in setting_keys ]): - connection.on_commit(reconfigure_rsyslog) + reconfigure_rsyslog() @task(queue='tower_broadcast_all') diff --git a/installer/roles/image_build/files/supervisor.conf b/installer/roles/image_build/files/supervisor.conf index 73dc7d14c2..a38ecdfce4 100644 --- a/installer/roles/image_build/files/supervisor.conf +++ b/installer/roles/image_build/files/supervisor.conf @@ -51,7 +51,7 @@ command = rsyslogd -n -i /var/run/awx-rsyslog/rsyslog.pid -f /var/lib/awx/rsyslo autostart = true autorestart = true stopwaitsecs = 5 -stopsignal=KILL +stopsignal=TERM stopasgroup=true killasgroup=true redirect_stderr=true diff --git a/installer/roles/kubernetes/templates/supervisor.yml.j2 b/installer/roles/kubernetes/templates/supervisor.yml.j2 index 99f42d30c1..ec62019743 100644 --- a/installer/roles/kubernetes/templates/supervisor.yml.j2 +++ b/installer/roles/kubernetes/templates/supervisor.yml.j2 @@ -58,7 +58,7 @@ data: autostart = true autorestart = true stopwaitsecs = 5 - stopsignal=KILL + stopsignal=TERM stopasgroup=true killasgroup=true redirect_stderr=true diff --git a/tools/docker-compose/supervisor.conf b/tools/docker-compose/supervisor.conf index b70fed413d..81731bb7a3 100644 --- a/tools/docker-compose/supervisor.conf +++ b/tools/docker-compose/supervisor.conf @@ -76,7 +76,7 @@ command = rsyslogd -n -i /var/run/awx-rsyslog/rsyslog.pid -f /var/lib/awx/rsyslo autostart = true autorestart = true stopwaitsecs = 5 -stopsignal=KILL +stopsignal=TERM stopasgroup=true killasgroup=true redirect_stderr=true