microsoft / microsoft/durabletask-python

Composite tasks do not notify parent composites

Ouverte
#266 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
40
Forks
33
Merge moyen
2 j 2 h
PR mergées (30 j)
6

Description

WhenAllTask and WhenAnyTask mark themselves complete, but do not notify their parent composite.

This means the following orchestration does not resume when all activities complete:

all_task = task.when_all(activity_tasks)
winner = yield task.when_any([cancel_task, all_task])

A current workaround is to wait for each leaf task with repeated when_any calls. The workaround preserves cancellation, but Durable Task Scheduler no longer shows the standard Fan-out group.

Could composite completion propagate to the parent in the same way that CompletableTask.complete() does?

A regression test can compose when_any([cancel, when_all([a, b])]), complete a and b, and verify that the outer task completes with the inner when_all task.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par lire WhenAllTask et WhenAnyTask, puis comparez leur comportement lors de l’achèvement avec CompletableTask.complete(). Ajoutez le test de régression décrit dans l’issue pour when_any([cancel, when_all([a, b])]) ; « done » signifie que l’achèvement de a et b entraîne l’achèvement de la tâche externe avec la tâche when_all interne.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
distributed-systems
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
72/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.