Постоянное соединение в витой

Я новичок в Twisted и у меня есть один вопрос. Как мне организовать постоянное соединение в Twisted? У меня есть очередь, и каждую секунду она проверяется. Если есть - отправьте на клиента. Я не могу найти что-то лучше, чем вызывать dataReceived каждую секунду. Вот код реализации протокола:

class SyncProtocol(protocol.Protocol):
    # ... some code here
    def dataReceived(self, data):
        if(self.orders_queue.has_new_orders()):
            for order in self.orders_queue:
                self.transport.write(str(order))

        reactor.callLater(1, self.dataReceived, data)  # 1 second delay

Это работает так, как мне нужно, но я уверен, что это очень плохое решение. Как я могу сделать это по-другому (гибкий и правильный)? Благодарю.

Постскриптум - основная идея и алгоритм: 1. Клиент подключается к серверу и ждет 2. Сервер проверяет наличие обновлений и передает данные клиенту в случае каких-либо изменений 3. Клиент выполняет некоторые операции, а затем ожидает другие данные

Ответы на вопрос(1)

Ваш ответ на вопрос