Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

432
Visualizações
Canales de Django "ERROR Y de N canales por encima de la capacidad en suscripciones grupales"

Estoy haciendo pruebas de carga con mi aplicación Django proporcionando suscripciones GraphQL usando canales Django y una capa de canales redis ( django , graphene-django , channels , graphene-subscriptions , channels-redis ). Como servidor ASGI, estoy usando daphne en este momento. Uso nginx como proxy. La periodicidad con la que el backend publica mensajes a través de las suscripciones de GraphQL depende de la periodicidad de los mensajes que el backend recibe a través de MQTT. Estoy aumentando la periodicidad con la que un proveedor de datos externo publica mensajes al corredor MQTT, es decir, la periodicidad con la que el backend tiene que procesar estos mensajes y publicar mensajes a través de suscripciones de GraphQL. Estoy enfrentando el siguiente error:

 2020-03-11 08:33:58,464 ERROR 2 of 12 channels over capacity in group subscriptions

Parece que este problema es causado porchannels_redis . ¿Puedo escalar la infraestructura para solucionar este problema?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La capacidad predeterminada es de 100 mensajes y el tiempo de caducidad predeterminado de los mensajes es de 60 segundos. Entonces, si el canal nunca se lee dentro de estas limitaciones de capacidad/tiempo, se llenará.

Una de las razones por las que un canal puede llenarse es cuando la conexión nunca se cierra correctamente. En este caso, el canal permanecerá en el grupo y eventualmente se llenará.

Una forma de mitigar esto es tener suficiente capacidad y un breve tiempo de espera. Puede modificar la configuración en los ajustes de Django de la siguiente manera:

 CHANNEL_LAYERS = { "default": { "BACKEND": "channels_redis.core.RedisChannelLayer", "CONFIG": { "hosts": REDIS_URL, # or where your redis server lives "capacity": 1500, # default 100 "expiry": 10, # default 60 } } }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda