При использовании Twisted ReconnectingClientFactory и потере соединения нужно ли мне вызывать connect.connect() из метода clientConnectionLost или это происходит автоматически?
Ответ может показаться очевидным, потому что это, в конце концов, ReconnectingClientFactory, но в документации Twisted что-то сказано здесь мне интересно:
«Может быть полезно вызвать connect.connect() — это переподключит».
Формулировка и использование термина «может быть полезным» приводит к вопросу, поскольку документ API для базовой клиентской фабрики говорит то же самое.
Ответ Макса правильный, но после дальнейших исследований я думаю, что ответ «корректора» выглядит следующим образом:
def clientConnectionLost(self, connector, reason):
# do stuff here that is unique to your own requirements, then:
ReconnectingClientFactory.clientConnectionLost(self, connector, reason)
Это позволяет вам выполнять специальные действия, требуемые вашим приложением, а затем вызывать фабричный код, чтобы позволить Twisted позаботиться о вызове retry() за вас.