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

155
Visualizações
channel_layer.send no llama al controlador

Tengo esta señal para enviar un evento cuando se crea un nuevo mensaje.

 from django.db.models.signals import post_save from channels.layers import get_channel_layer from asgiref.sync import async_to_sync from django.dispatch import receiver from .serializers import MessageSerializer from base.models import Message @receiver(post_save, sender=Message) def new_message(sender, instance, created, **kwargs): channel_layer = get_channel_layer() if created: chat_group = instance.channel.chat_group for member in chat_group.members: async_to_sync(channel_layer.send)( f"User-{member.user.id}", { "type": "chat_message_create", "payload": MessageSerializer(instance).data, }, )

esto es los consumers.py

 import json from channels.generic.websocket import WebsocketConsumer from api.serializers import UserSerializer class ChatConsumer(WebsocketConsumer): def connect(self): user = self.scope["user"] self.channel_name = f"User-{user.id}" self.send(text_data=json.dumps(UserSerializer(user).data)) def disconnect(self, close_code): pass def chat_message_create(self, event): print("Created") self.send(text_data=json.dumps(event["payload"]))

Cuando creo un nuevo mensaje en el panel de administración, se llama a la señal, pero no se envía a través del websocket, y las impresiones de depuración en ChatConsumer.chat_message_create ni siquiera se imprimirán.

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

0

Se solucionó el problema, modifiqué los Consumidores para usar Grupos en lugar de canales individuales

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