mirror of
https://github.com/ansible/awx.git
synced 2026-03-06 03:01:06 -03:30
Output WorkflowEvents on a dedicated channel
This commit is contained in:
@@ -2452,6 +2452,8 @@ class JobEventSerializer(BaseSerializer):
|
|||||||
try:
|
try:
|
||||||
d['job']['job_template_id'] = obj.job.job_template.id
|
d['job']['job_template_id'] = obj.job.job_template.id
|
||||||
d['job']['job_template_name'] = obj.job.job_template.name
|
d['job']['job_template_name'] = obj.job.job_template.name
|
||||||
|
d['job']['spawned_by_workflow'] = obj.job.spawned_by_workflow
|
||||||
|
d['job']['workflow_job_id'] = obj.job.workflow_job_id
|
||||||
except (KeyError, AttributeError):
|
except (KeyError, AttributeError):
|
||||||
pass
|
pass
|
||||||
return d
|
return d
|
||||||
|
|||||||
@@ -764,7 +764,7 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def workflow_job_id(self):
|
def workflow_job_id(self):
|
||||||
if self.spawned_by_workflow():
|
if self.spawned_by_workflow:
|
||||||
return self.unified_job_node.workflow_job.pk
|
return self.unified_job_node.workflow_job.pk
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ logger = logging.getLogger('awx.main.signals')
|
|||||||
def emit_job_event_detail(sender, **kwargs):
|
def emit_job_event_detail(sender, **kwargs):
|
||||||
instance = kwargs['instance']
|
instance = kwargs['instance']
|
||||||
created = kwargs['created']
|
created = kwargs['created']
|
||||||
print("before created job_event_detail")
|
|
||||||
if created:
|
if created:
|
||||||
event_serialized = JobEventSerializer(instance).data
|
event_serialized = JobEventSerializer(instance).data
|
||||||
event_serialized['id'] = instance.id
|
event_serialized['id'] = instance.id
|
||||||
@@ -45,6 +44,10 @@ def emit_job_event_detail(sender, **kwargs):
|
|||||||
event_serialized["group_name"] = "job_events"
|
event_serialized["group_name"] = "job_events"
|
||||||
emit_channel_notification('job_events-' + str(instance.job.id), event_serialized)
|
emit_channel_notification('job_events-' + str(instance.job.id), event_serialized)
|
||||||
|
|
||||||
|
if instance.job.spawned_by_workflow:
|
||||||
|
event_serialized['group_name'] = "workflow_events"
|
||||||
|
emit_channel_notification('workflow_events-' + str(instance.job.workflow_job_id), event_serialized)
|
||||||
|
|
||||||
def emit_ad_hoc_command_event_detail(sender, **kwargs):
|
def emit_ad_hoc_command_event_detail(sender, **kwargs):
|
||||||
instance = kwargs['instance']
|
instance = kwargs['instance']
|
||||||
created = kwargs['created']
|
created = kwargs['created']
|
||||||
|
|||||||
Reference in New Issue
Block a user