conductor-oss / conductor-oss/python-sdk
WaitTask base class sets wrong inputParameter key 'wait_until' instead of 'until'
- Lenguaje dominante
- Python
- Estrellas
- 104
- Forks
- 42
- Merge medio
- 2 d 1 h
- PR fusionados (30 d)
- 3
Descripción
## Summary
Tested against: **Conductor OSS 3.32.0-rc.9**
`WaitTask.__init__(wait_until=...)` sets the inputParameter key `"wait_until"`,
but the Conductor server reads `"until"`. The task is accepted at registration
but never triggers at runtime — the workflow stays RUNNING indefinitely.
## Reproduction
```python
from conductor.client.workflow.task.wait_task import WaitTask
t = WaitTask("my_wait", wait_until="2024-01-01 00:00 UTC")
print(t.input_parameters)
# {'wait_until': '2024-01-01 00:00 UTC'} ← WRONG KEY
```
Start a workflow containing this task. The task status stays `IN_PROGRESS`
forever — the server never sees `"until"` so the condition is never evaluated.
## Root cause
`wait_task.py` line 26:
```python
self.input_parameters = {"wait_until": wait_until} # wrong key
```
Server constant (`Wait.java`):
```java
public static final String UNTIL_INPUT = "until";
```
## Fix
```python
self.input_parameters = {"until": wait_until}
```
Note: the `WaitUntilTask` subclass already uses the correct key `"until"` and
is unaffected. Only `WaitTask.__init__()` called directly with `wait_until=` is broken.
## Verified against
Conductor server **3.32.0-rc.9**, confirmed via live test in
[conductor-oss/conductor-test-harness](https://github.com/nthmost-orkes/conductor-test-harness):
task remained `RUNNING` after 10 s with `wait_until` key; `WaitUntilTask` with
`until` key completed immediately.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza por wait_task.py en la línea 26 y compara WaitTask.__init__() con la subclase WaitUntilTask no afectada y con la constante Wait.java del servidor. La tarea estará terminada cuando el uso directo de WaitTask emita el parámetro de entrada reconocido por el servidor y ya no deje la tarea ejecutándose indefinidamente; verifica los parámetros serializados y el comportamiento del workflow descrito en la reproducción.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- backend
- Tipo de issue
- Error
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Estado de actividad
- Tranquilo
- Claridad
- Bien especificado
- Aptitud para principiantes
- 82/100