Azure IoT Edge Hub Python SDK не отказоустойчив? - PullRequest
0 голосов
/ 22 апреля 2020

Способ Azure IoT Edge Python SDK, заставляющий вас обрабатывать сообщения, не выглядит отказоустойчивым.

while True:
    input_message = await module_client.receive_message_on_input("input1")
    # do some work here
    # fail <<<<
    # do some work here

Если в середине произойдет сбой, сообщение не будет «отправлено» вам снова, когда IoT Edge Module исправлен.

Я прав?

. NET SDK заставляет вас использовать другой способ, вы не несете ответственности за выбор сообщений из «очереди» вместо этого вы определяете обратный вызов и регистрируете его для вызова при поступлении нового сообщения, и он ожидает, что обратный вызов возвратит сообщение о состоянии, например, Завершено (если сообщение было успешно обработано). Таким образом, если это не удается в середине, обратный вызов получит его снова. Так что это отказоустойчиво и такие вещи, как исключения, перезапуски устройства покрыты этим поведением.

...