def _publish(self, msg, binary_data):
# Check socketlock
self.socket_lock.acquire()
try:
# Inject task ID (thread safe in here)
task = Task(self, self.task_count)
self.tasks[self.task_count] = task
msg['id'] = self.task_count
self.task_count += 1
# Send message
# print("Sending:", "Nutmeg")
self.pubsock.send(b"Nutmeg", flags=zmq.SNDMORE)
# print("Sending:", msg)
self.pubsock.send_json(msg, flags=zmq.SNDMORE)
# Then data
for data in binary_data:
# print("Sending binary")
self.pubsock.send(data, flags=zmq.SNDMORE, copy=True)
# Makes code nicer just simply having a "null message"
self.pubsock.send(b'')
return task
except IOError:
raise
finally:
self.socket_lock.release()
评论列表
文章目录