Почему asyncio.gather() иногда зависает на неопределенный срок, когда одна из задач вызывает исключение?Python

Программы на Python
Ответить
Anonymous
 Почему asyncio.gather() иногда зависает на неопределенный срок, когда одна из задач вызывает исключение?

Сообщение Anonymous »

Я экспериментирую с asyncio Python для одновременного запуска нескольких сопрограмм.
Однако в некоторых случаях asyncio.gather() кажется зависающим навсегда, когда одна из задач вызывает исключение — хотя я ожидаю, что она распространит и отменит другие.
Ожидаемое поведение:
Как только Task_b вызовет исключение, я ожидаю, что Task_a будет отменен, asyncio.gather() остановить и распространить исключение.
Фактическое поведение:
Иногда это работает так, как ожидалось, но в других случаях (особенно когда задачи имеют операции ввода-вывода или сетевые вызовы) программа зависает на неопределенный срок, и отмена, похоже, не завершается.

Подробнее здесь: https://stackoverflow.com/questions/798 ... tasks-rais
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»