aws / aws/aws-durable-execution-sdk-python

Reevaluate CompletionConfig Presets

Aperta
#38 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
53
Fork
25
Merge medio
1g 17h
PR unite (30g)
37

Descrizione

## Context
**GitHub Reference**: [config.py#L47](https://github.com/aws/aws-durable-execution-sdk-python/blob/0307cf96e22a0bdbfdb7539f2780cde19f44a55d/src/aws_durable_execution_sdk_python/config.py#L47)

Review and update `CompletionConfig` presets for `first_successful`, `all_completed`, and `all_successful` to ensure they match expected behavior and service capabilities.

This is currently not implemented in TypeScript.

## Technical Requirements
- Review current preset implementations
- Validate against service behavior
- Update presets if needed
- Ensure consistency with TypeScript SDK

## Implementation Details
- **File**: `src/aws_durable_execution_sdk_python/config.py`
- **Line**: Around line 47
- **Presets to Review**:
- `first_successful`: Complete when first operation succeeds
- `all_completed`: Complete when all operations finish (success or failure)
- `all_successful`: Complete when all operations succeed

```python
@dataclass(frozen=True)
class CompletionConfig:
@classmethod
def first_successful(cls) -> CompletionConfig:
"""Complete when first operation succeeds."""
return cls(
completion_type="FIRST_SUCCESSFUL",
min_successful=1,
fail_on_first_error=False
)

@classmethod
def all_completed(cls) -> CompletionConfig:
"""Complete when all operations finish."""
return cls(
completion_type="ALL_COMPLETED",
min_successful=None,
fail_on_first_error=False
)
```

## Acceptance Criteria
- [ ] All presets match expected behavior
- [ ] Presets are consistent with service capabilities
- [ ] Documentation clearly explains each preset
- [ ] Tests validate preset behavior
- [ ] Alignment with TypeScript SDK confirmed

**Priority**: LOW
**Estimated Effort**: 0.5 days

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Iniziate in src/aws_durable_execution_sdk_python/config.py, intorno alla riga 47, e analizzate i preset first_successful, all_completed e all_successful. Confrontate il loro comportamento documentato con le funzionalità del servizio e con il TypeScript SDK, quindi aggiungete o aggiornate la documentazione e i test in modo da convalidare il comportamento di ciascun preset e soddisfare i criteri di accettazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, typescript
Ambito
backend-api-design
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
Mezza giornata
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.