Proposal: Support Entity Locking
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Calme
- Stack technique
- python
- Domaine
- backend-api-design, distributed-systems
Piste de recherche
Commencez par les points d’entrée proposés context.lock et context.release, et comparez leur comportement prévu avec la Durable Functions lock API. Le travail est considéré comme terminé lorsque le projet dispose d’une conception approuvée pour mettre en pause l’acquisition, effectuer automatiquement la destruction du context-manager et procéder à la libération manuelle, les deux modèles d’utilisation proposés étant couverts par l’implémentation et les tests.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
We need to support the Durable Functions lock API that allows users to establish a critical section for serial Entity updates. I believe this would be the first OOProc PL to support this feature, so I want to make sure we're in the same page about how we plan to implement it.
I imagine the API would be yieldable, giving us an opportunity to pause the orchestrator execution if the lock cannot be readily acquired, and that it would take as argument a list of EntityIds.
In other words, I expect its interface to be as follows:
def lock(entityIds: List[string]):
Proposed syntax and usage patterns
The first, and recommended, usage pattern would be one where the lock disposal is automatically managed by some context manager, so as follows:
entityIds: List[string] = ["myEntity1", "myEntity2", ... ]
with (yield context.lock(entityIds)):
# entity ops ... the lock is released at the end of this segment
The second usage pattern is one where entities are locked and released manually by separate APIs
entityIds: List[string] = ["myEntity1", "myEntity2", ... ]
yield context.lock(entityIds)
yield context.release(entityIds)
I expect we'll want to support this second option because not all OOProc PLs with necessarily have a convenient lock-disposal syntax such as Python's "with" statement.
Please let me know if y'all have any thoughts. Otherwise, I'll proceed to prioritize this for an upcoming release. Thanks!
- Langage dominant
- Python
- Étoiles
- 157
- Forks
- 70
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Azure/azure-functions-durable-python
-
Enhancement fixed-in-v2 P3
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Azure/azure-functions-durable-python#617 · 1 commentaire ·
-
bug Debuggability fixed-in-v2 P2
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Azure/azure-functions-durable-python#587 · 2 commentaires · 1 réaction ·
-
Custom object serialization broken for orchestrator return valuesPeut-être pris @andystaples l’a pris il y a 70 jours. Ouvertebug fixed-in-v2 P2
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Azure/azure-functions-durable-python#568 · 1 commentaire ·
-
bug fixed-in-v2 P3
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Azure/azure-functions-durable-python#475 · 1 commentaire ·
-
Enhancement fixed-in-v2 P3
Difficulté 4/5 3-5 jours Accessibilité débutants 62/100
Azure/azure-functions-durable-python#618 · 1 commentaire ·
Toutes les issues de Azure/azure-functions-durable-python
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
MystenLabs/MemWal#1163 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
infertopics leaves new nodes without a topic when untopiced neighbours outnumber topiced onesPeut-être pris @moneebullah25 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
ClanGenOfficial/clangen#6254 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
FinanceFlash/unvibecode#218 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour