mirror of
https://github.com/ansible/awx.git
synced 2026-01-13 11:00:03 -03:30
Signal finished tasks to the task management system
This commit is contained in:
parent
99d42dc3fa
commit
fc4f256723
@ -23,6 +23,9 @@ import uuid
|
||||
# Pexpect
|
||||
import pexpect
|
||||
|
||||
# ZMQ
|
||||
import zmq
|
||||
|
||||
# Kombu
|
||||
from kombu import Connection, Exchange, Queue
|
||||
|
||||
@ -120,6 +123,13 @@ class BaseTask(Task):
|
||||
logger.error('Failed to update %s after %d retries.',
|
||||
self.model._meta.object_name, retry_count)
|
||||
|
||||
def signal_finished(self, pk):
|
||||
signal_context = zmq.Context()
|
||||
signal_socket = signal_context.socket(zmq.REQ)
|
||||
signal_socket.connect(settings.TASK_COMMAND_PORT)
|
||||
signal_socket.send_json(dict(complete=pk))
|
||||
signal_socket.recv()
|
||||
|
||||
def get_model(self, pk):
|
||||
return self.model.objects.get(pk=pk)
|
||||
|
||||
@ -342,6 +352,7 @@ class BaseTask(Task):
|
||||
raise Exception("Task %s(pk:%s) was canceled" % (str(self.model.__class__), str(pk)))
|
||||
else:
|
||||
raise Exception("Task %s(pk:%s) encountered an error" % (str(self.model.__class__), str(pk)))
|
||||
self.signal_finished(pk)
|
||||
|
||||
class RunJob(BaseTask):
|
||||
'''
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user