ENH: Preserve greedy execution with provisional tasks

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

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
python
Domaine
backend

Piste de recherche

Read provisional.py and provisional_utils.py to trace provisional task collection, identity validation, recreate_dag, and scheduler rebuilding. Define the transaction boundary and failure path so an error preserves the old DAG and scheduler while execution continues with that DAG.

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

Description

enhancement
Is your feature request related to a problem?

When provisional task creation fails, a new DAG cannot be created and therefore execution cannot continue. The pytask session will stop.

Relevant paths include:

  • provisional.py: failures while collecting generated tasks, running pytask_collect_modify_tasks, or validating task identities.
  • provisional_utils.py: failures in recreate_dag, including dependency resolution, cycle detection, duplicate products, or scheduler rebuilding.
  • recreate_dag also assigns session.dag before rebuilding the scheduler. If scheduler rebuilding fails, the session may contain a new DAG paired with an old scheduler.
Describe the solution you'd like

A better behavior would be to handle the whole process like a transaction and when any of the steps of registering these new provisional tasks fails, they are collected as an execution error and execution continues with the old DAG.

Langage dominant
Python
Étoiles
146
Forks
14
Merge moyen
3 j 16 h
PR mergées (30 j)
34

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

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.

Autres issues de pytask-dev/pytask

Toutes les issues de pytask-dev/pytask

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

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