Listener to services should be on a separate thread and resilient by default
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
Línea de trabajo
Comienza con la ruta de inicio de la aplicación Django generada y con la inicialización de auth-service y event-listener mencionada en el issue. Compara el enfoque de un pod/contenedor separado con una inicialización en segundo plano resiliente y verifica después que la aplicación orientada al usuario se inicie sin que Kafka ni las cuentas estén completamente disponibles, y que la inicialización fallida se reintente sin provocar un bucle de reinicios por fallo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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()
- Lenguaje dominante
- Python
- Estrellas
- 19
- Forks
- 5
- Merge medio
- 11 d 20 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de MetaCell/cloud-harness
-
new feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
MetaCell/cloud-harness#810 · 1 comentario ·
-
When using a custom image for on_exit_notify of a workflow queue and payload should not be mandatoryAbiertogood first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
MetaCell/cloud-harness#801 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
MetaCell/cloud-harness#781 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 32/100
MetaCell/cloud-harness#709 ·
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
MetaCell/cloud-harness#706 · 1 comentario ·
Todos los issues de MetaCell/cloud-harness
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
openwisp/openwisp-utils#777 ·
-
Boolean statistics (Covered, Confident, JaccardDistant) aggregate to 1.0 without float weightsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
google-research/weatherbenchX#310 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
huggingface/peft#3955 ·
Los mantenedores suelen responder en 1 día
-
author-page correction
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
acl-org/acl-anthology#10313 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
AOSSIE-Org/Gitcord-GithubDiscordBot#147 · 1 comentario ·
Los mantenedores suelen responder en 1 día