diff --git a/awx/main/tasks/callback.py b/awx/main/tasks/callback.py index f92a6028d22e..3c5d4b23b970 100644 --- a/awx/main/tasks/callback.py +++ b/awx/main/tasks/callback.py @@ -203,12 +203,12 @@ def status_handler(self, status_data, runner_config): if os.path.exists(key_data_file) and stat.S_ISFIFO(os.stat(key_data_file).st_mode): os.remove(key_data_file) elif status_data['status'] == 'error': - result_traceback = status_data.get('result_traceback', None) - if result_traceback: - from awx.main.signals import disable_activity_stream # Circular import - - with disable_activity_stream(): - self.instance = self.update_model(self.instance.pk, result_traceback=result_traceback) + updates = {} + for potential_field in ('result_traceback', 'job_explanation'): + if status_data.get(potential_field, None): + updates[potential_field] = status_data[potential_field] + if updates: + self.instance = self.update_model(self.instance.pk, **updates) class RunnerCallbackForProjectUpdate(RunnerCallback):