Pipe.poll () не возвращает BrokenPipeError в AWSLambda (с 2019/01/15) - PullRequest
0 голосов
/ 18 января 2019

До сих пор я всегда проверял, подключен ли мой межпроцессный канал / используется:

def check_pipe_active():
    try:
        return pipe.poll() # if this returns, the pipe is still active.
    except BrokenPipeError as Berr: # Client disconnected, we're done here.
        return False
    except Exception as err:
        #optionally do stuff
        return err

Ключевым моментом здесь является то, что опрос отключенного канала выдал BrokenPipeError

Начиная с 01:00 по Гринвичу 15 января 2019 года AWS Lambda Pipe.poll() вместо этого начал возвращать True.

В Windows я подтвердил, что python 3.6.8 невиноват (по крайней мере, не версия для Windows).

Я могу достаточно легко решить проблему, но не могу найти никакой информации относительно ПОЧЕМУ проблема существует.Я не могу найти связанных журналов обновлений для Lambda или Amazon Linux, и хотя в журналах изменений Python 3.6.8 упоминаются каналы, я не смог найти ничего, определяющего изменения исключений.

Что следует учитывать:

  • Код работал в течение года
  • Код STILL прекрасно работает на Windows
  • База кода была нетронутой

Спасибо за любую помощь!

...