Как предотвратить отмену всех задач Python3.11 TaskGroupPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как предотвратить отмену всех задач Python3.11 TaskGroup

Сообщение Anonymous »


Я только что обнаружил новые функции Python 3.11, такие как ExceptionGroup и TaskGroup, и меня смутило следующее поведение TaskGroup: если одна или несколько задач внутри группы терпят неудачу, все остальные обычные задачи отменяются, и у меня нет шансов изменить это поведение Пример:

async def f_error(): поднять ValueError() асинхронная защита f_normal(arg): печать('начало', арг) ожидайте asyncio.sleep(1) печать('окончание', арг) асинхронно с asyncio.TaskGroup() как tg: tg.create_task(f_normal(1)) tg.create_task(f_normal(2)) tg.create_task(f_error()) # начиная с 1 # начиная с 2 #---------- #< отслеживание ошибки здесь > В приведенном выше примере я не могу напечатать «окончание 1» и «окончание 2». Между тем, будет очень полезно иметь что-то вроде опции asyncio.gather(return_Exceptions=True), чтобы не отменять оставшиеся задачи при возникновении ошибки.

Вы можете сказать: «Просто не используйте TaskGroup, если вы не хотите такого поведения отмены», но ответ будет таким: я хочу использовать новую функцию группы исключений, и она строго привязана к TaskGroup
>
Итак, вопросы:
[*]Могу ли я каким-то образом использовать группы исключений в asyncio без этой политики отмены «все или ничего» в TaskGroup? [*]Если на предыдущий вопрос ответ «НЕТ», то почему разработчики Python исключили возможность отключения отмены в TaskGroup API?
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как выполнить динамическое сопоставление задач на уровне TaskGroup в Airflow с помощью операторов?
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как выполнить динамическое сопоставление задач на уровне TaskGroup в Airflow с помощью операторов?
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как выполнить динамическое сопоставление задач на уровне TaskGroup в Airflow с помощью операторов?
    Anonymous » » в форуме Python
    0 Ответы
    68 Просмотры
    Последнее сообщение Anonymous
  • Как обнаружить отмену задачи по группе задач
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как обнаружить отмену задачи по группе задач
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

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