aws / aws/aws-durable-execution-sdk-python
Reevaluate CompletionConfig Presets
- Langage dominant
- Python
- Étoiles
- 53
- Forks
- 25
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 40
Description
## 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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez dans src/aws_durable_execution_sdk_python/config.py, autour de la ligne 47, et examinez les presets first_successful, all_completed et all_successful. Comparez leur comportement documenté avec les capacités du service et le TypeScript SDK, puis ajoutez ou mettez à jour la documentation et les tests afin de valider le comportement de chaque preset et de satisfaire aux critères d’acceptation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python, typescript
- Domaine
- backend-api-design
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- Une demi-journée
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100