ConductorWorkflow requires a live executor at construction time — prevents offline use
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- python
- Ambito
- backend-api-design
Direzione di ricerca
Individua ConductorWorkflow.init(), quindi esamina register(), start_workflow() ed execute(), insieme alla gestione esistente di WorkflowExecutor. Riproduci la costruzione senza un server, quindi verifica che le chiamate che dipendono dall’executor falliscano chiaramente senza di esso, mentre l’uso con un executor continui a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Tested against: Conductor OSS 3.32.0-rc.9
ConductorWorkflow.__init__() takes executor: WorkflowExecutor as a mandatory
first positional argument. This forces a live server connection at the point of
constructing a workflow definition, making offline use impossible.
Impact
- Unit testing: tests that validate workflow structure (task order, task types,
inputParameters) cannot be written without a running Conductor server. - Library code: functions that return workflow definitions must thread an
executorparameter through all their call chains, coupling definition logic
to connection management. - Code generation / serialization: workflow definitions cannot be built and
exported to JSON without a server connection.
Reproduction
# Fails without a server running:
wf = ConductorWorkflow(name="my_wf", version=1)
# TypeError: ConductorWorkflow.__init__() missing 1 required positional argument: 'executor'
# Required:
config = Configuration(server_api_url="http://localhost:8080/api")
executor = WorkflowExecutor(config)
wf = ConductorWorkflow(executor=executor, name="my_wf", version=1)
Suggested fix
Make executor optional; raise RuntimeError only when an executor-dependent
method (.register(), .start_workflow(), .execute()) is called on a workflow
with no executor set:
def __init__(self, name: str, version: Optional[int] = None,
executor: Optional[WorkflowExecutor] = None, ...):
self._executor = executor
...
def register(self, overwrite: bool):
if self._executor is None:
raise RuntimeError("ConductorWorkflow.register() requires an executor. "
"Pass executor= at construction time.")
...
Verified against
Conductor server 3.32.0-rc.9, Python SDK (editable install from
conductor-oss/python-sdk main branch).
- Lingua principale
- Python
- Stelle
- 104
- Fork
- 43
- Merge medio
- 1g 13h
- PR unite (30g)
- 4
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di conductor-oss/python-sdk
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
conductor-oss/python-sdk#507 ·
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
conductor-oss/python-sdk#502 ·
-
bug dependencies
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
conductor-oss/python-sdk#486 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
conductor-oss/python-sdk#483 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
conductor-oss/python-sdk#478 ·
Tutte le issue di conductor-oss/python-sdk
Issue simili
-
triage/confirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
agentscope-ai/agentscope#2775 ·
-
comp/desktop P3 type/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
NousResearch/hermes-agent#118866 ·
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
apache/cloudstack#14222 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100