pytask-dev / pytask-dev/pytask
ENH: Preserve greedy execution with provisional tasks
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 146
- Fork
- 14
- Merge trung bình
- 3 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 34
Mô tả
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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- backend
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100