qcg.pilotjob.publisher module
- class qcg.pilotjob.publisher.EventTopic(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
EnumPublished event types.
- ITERATION_STATUS = 'IST'
- ITERATION_FINISHED = 'IFI'
- JOB_STATUS = 'JST'
- JOB_FINISHED = 'JFI'
- NO_JOBS = 'NOJ'
- class qcg.pilotjob.publisher.StatusPublisher
Bases:
objectPublish job status change notifications.
Publisher handles notifications with queing events to publish. The queing event is done synchronously. In the background the sender task takes queued events and sent them (asynchronously).
- zmq_ctx
ZMQ context
- Type
Context
- socket
ZMQ PUB socket
- Type
socket
- address
address of ZMQ PUB interface from configuration
- Type
str
- local_port
listen port number
- Type
int
- external_address
address on external network interface (not on private ips)
- Type
str
Initialize Publisher.
- setup(conf)
Create Publisher interface.
If port number is not specified in QCG-PilotJob configuration, it is chosen randomly from configured range.
- static encode_published_data(topic, data)
Encode event data to be sent with send_string socket method.
- Parameters
(EventTopic) (topic) – the event topic
(obj) (data) – data to sent
- Returns
encoded event with topic as string
- static decode_published_data(event_message)
Decode received event.
- Parameters
event_message – the received message
- Returns
tupple (EventTopic, object) with event topic and deserialized data
- Raise
UnknownEventTopic - when received topic is not known WrongEventFormat - when event data cannot be deserialized
- publish(topic, data)
Publish event
- Parameters
(EventTopic) (topic) – event’s topic
(obj) (data) – event data
- async stop()
Cleanup.