Как использовать два цикла событий в приложении Python

Допустим, у меня есть класс, который использует zmq для передачи и вывода сообщений. И я хочу управлять им с помощью RPC, чтобы создать для него удаленный фасад.

Как я могу это сделать?

class Processor()

def init()
state = AddHeaderState() # There is more states of course
zmq_sender = create_zmq_sender()

def set_state(state):
...

def process(message):
output = state.process(message)
zmq_sender.send(output)

Итак, на этом примере давайте скажем, что я хочу изменить состояние удаленно.

Если бы я добавил zerorpc к этому, я бы не смог использовать zmq для передачи и вывода сообщений и наоборот, верно? Мой вопрос более понятен на этом примере?

1 ответ

Правильно ли я предполагаю, что вы хотите запускать два канала передачи параллельно / одновременно? В zguide есть целый раздел, посвященный многопоточности. Я нашел задачу taskwork2: Параллельная задача с примером сигнализации об уничтожении в разделе Обработка ошибок и ETERM.

Если я ошибся, вы можете уточнить это с помощью рисунка. PlantUML позволяет вам сделать это. На моем Github приведен пример управления потоком с учетом ZMQ.

Другие вопросы по тегам