conductor-oss / conductor-oss/python-sdk
TaskType.NOOP missing — NOOP system task has no enum value or builder class
- Vorherrschende Sprache
- Python
- Sterne
- 104
- Forks
- 42
- Ø Merge
- 2 T. 1 Std.
- Gemergte PRs (30 T.)
- 3
Beschreibung
## Summary
Tested against: **Conductor OSS 3.32.0-rc.9**
The Conductor server has a `NOOP` system task type (`TaskType.NOOP`) that
completes immediately with no inputParameters. The Python SDK has neither an
enum value nor a builder class for it.
## Details
```python
from conductor.client.workflow.task.task_type import TaskType
hasattr(TaskType, "NOOP") # False
```
There is no `noop_task.py` and no `NoopTask` class anywhere in the SDK.
NOOP is useful as an explicit no-op placeholder in workflow branches (e.g.
the default branch of a SWITCH where nothing should happen). Without SDK support,
users must use raw dicts.
## Suggested fix
Add to `task_type.py`:
```python
NOOP = "NOOP"
```
Add `src/conductor/client/workflow/task/noop_task.py`:
```python
class NoopTask(TaskInterface):
def __init__(self, task_ref_name: str):
super().__init__(task_reference_name=task_ref_name,
task_type=TaskType.NOOP)
```
## Verified against
Conductor server **3.32.0-rc.9**. A raw-dict NOOP workflow registered and ran
to `COMPLETED` on the server. Only the SDK support is missing.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Start with src/conductor/client/workflow/task/task_type.py and the TaskInterface used by task builders. Add the NOOP enum value and create noop_task.py with NoopTask using the specified task reference name and type; done means the SDK exposes both TaskType.NOOP and NoopTask for constructing NOOP workflows.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 88/100