temporalio / temporalio/sdk-python

Run different worker types in separate threads

Aperta
#803 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

enhancement
Lingua principale
Python
Stelle
1.2k
Fork
241
Merge medio
3g 21h
PR unite (30g)
55

Descrizione

Currently, when workflow and activity workers are run in the same process, they share the the same thread (same event loop):

https://github.com/temporalio/sdk-python/blob/b0dfaef0f029244a44f56c4c1970cda8621b4e68/temporalio/worker/_worker.py#L489-L492

Running these (and Nexus workers when they arrive) in different threads would prevent an async activity that incorrectly does blocking I/O from blocking workflow progress. In addition to limiting blast radius it should make it easier to understand the failure modes.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalla configurazione del worker in temporalio/worker/_worker.py intorno alle righe 489-492, dove i worker di workflow e activity attualmente condividono un event loop. Traccia come vengono creati e coordinati i tipi di worker, inclusi i futuri worker Nexus menzionati nell’issue. Il lavoro sarà completato quando i worker di workflow, activity e infine Nexus potranno essere eseguiti in thread separati senza bloccarsi a vicenda.

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

Valutazione

Stack tecnologico
python
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.