Как использовать два цикла событий в приложении 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.