No ExclusiveJoinTask builder class — defaultExclusiveJoinTask field unreachable
@abhinavrastogi2627 đang làm issue này rồi.
Từ ngày 5/10/2026.
- #515 của @abhinavrastogi2627 — đang mở
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 68/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- python
- Lĩnh vực
- backend-api-design
Hướng nghiên cứu
Xác định các entry point hiện có của JoinTask và TaskInterface, sau đó kiểm tra cách chúng tạo một WorkflowTask và gán TaskType. Bổ sung coverage cho việc tạo một task EXCLUSIVE_JOIN với join_on và default_exclusive_join_task; được xem là hoàn thành khi SDK có thể serialize các trường đó và workflow kết quả chạy đúng cho một nhánh SWITCH không khớp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Tested against: Conductor OSS 3.32.0-rc.9
TaskType.EXCLUSIVE_JOIN exists in the SDK enum but there is no ExclusiveJoinTask
builder class. More critically, the defaultExclusiveJoinTask field (which tells
the server which task to use when no SWITCH branch ran) cannot be set through any
SDK path.
Details
JoinTask always produces TaskType.JOIN, not TaskType.EXCLUSIVE_JOIN. There
is no way to build an EXCLUSIVE_JOIN task using SDK classes alone.
EXCLUSIVE_JOIN is designed for SWITCH branches (where exactly one branch executes).
Without defaultExclusiveJoinTask set, EXCLUSIVE_JOIN workflows with a branch that
doesn't match will stall.
Suggested fix
class ExclusiveJoinTask(TaskInterface):
def __init__(self, task_ref_name: str, join_on: List[str],
default_exclusive_join_task: Optional[List[str]] = None):
super().__init__(task_ref_name, TaskType.EXCLUSIVE_JOIN)
self._join_on = join_on
self._default = default_exclusive_join_task or []
def to_workflow_task(self) -> WorkflowTask:
wf = super().to_workflow_task()
wf.join_on = self._join_on
wf.default_exclusive_join_task = self._default
return wf
Verified against
Conductor server 3.32.0-rc.9. EXCLUSIVE_JOIN runs correctly when built via
raw WorkflowTask with the correct fields set. The gap is purely in the SDK —
no builder class exists.
- Ngôn ngữ chính
- Python
- Star
- 104
- Fork
- 44
- Merge trung bình
- 4 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 3
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
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.
Issue khác của conductor-oss/python-sdk
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
conductor-oss/python-sdk#507 ·
-
`.[agents]` extra omits `langchain-anthropic`, so a shipped example cannot runCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug dependencies
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
conductor-oss/python-sdk#486 ·
-
Framework-agent failures return `None` instead of the failed task's reasonCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
conductor-oss/python-sdk#483 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
conductor-oss/python-sdk#478 ·
-
Example 39c_serverless_code_execution.py needs to be changed for it to workCó thể đã có người làm @nthmost-orkes đã nhận 11 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
conductor-oss/python-sdk#512 ·
Tất cả issue của conductor-oss/python-sdk
Issue tương tự
-
bug needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
debpalash/VoiceStudio#2624 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
SQLGlot translates Spark concat_ws on an array into array stringificationCó thể đã có người làm @ansh-rohilla đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Make Catch2 optional when `RDK_BUILD_CPP_TESTS=OFF`Có thể đã có người làm @pechersky đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 2 ngày