Listener to services should be on a separate thread and resilient by default
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
Direzione di ricerca
Inizia dal percorso di avvio dell’applicazione Django generata e dall’inizializzazione di auth-service ed event-listener menzionata nell’issue. Confronta l’approccio con pod/container separati con un’inizializzazione resiliente in background, quindi verifica che l’applicazione rivolta agli utenti si avvii senza che Kafka o gli account siano completamente disponibili e che un’inizializzazione non riuscita venga ritentata senza causare un ciclo di crash.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Generated applications for django have a default behaviour to sync users which requires kafka and accounts to be fully operative at startup. If they're not fully operative, pods go on a crashloop.
This is not ideal because the user facing part of the application does not necessarily requires user login functionality.
Ideally we should set this kind of listeners on a separate pod/container.
A quicker proposal is the following:
if os.environ.get('KUBERNETES_SERVICE_HOST', None):
# init the auth service when running in/for k8s
import threading
from cloudharness_django.services import get_auth_service, init_services
from cloudharness import log
import time
def start_auth_service():
try:
init_services()
except:
log.exception("Error initializing services. Retrying in 5 seconds...")
time.sleep(5)
start_auth_service()
threading.Thread(target=start_auth_service).start()
# start the kafka event listener when running in/for k8s
def start_event_listener():
try:
import cloudharness_django.services.events
log.info("User sync events listener started")
except:
log.exception("Error initializing event queue. Retrying in 5 seconds...")
time.sleep(5)
start_event_listener()
threading.Thread(target=start_event_listener).start()
- Lingua principale
- Python
- Stelle
- 19
- Fork
- 5
- Merge medio
- 3g 18h
- PR unite (30g)
- 3
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di MetaCell/cloud-harness
-
new feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
MetaCell/cloud-harness#810 · 1 commento ·
-
When using a custom image for on_exit_notify of a workflow queue and payload should not be mandatory Apertagood first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
MetaCell/cloud-harness#801 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
MetaCell/cloud-harness#781 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 32/100
MetaCell/cloud-harness#709 ·
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
MetaCell/cloud-harness#706 · 1 commento ·
Tutte le issue di MetaCell/cloud-harness
Issue simili
-
area: harness bug status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Human-Agent-Society/reef#625 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
learningequality/kolibri#15351 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Name consistency Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eellak/triplestore#65 · 1 commento ·