Оба утверждения протоколирования и печати внутри django channels consumer не работают

Я пытаюсь интегрировать celery с django channels, но потребитель каналов не работает так, как должен. Логи или отпечатки внутри потребительских функций не отображают сообщения в терминале.

Следующая задача celery вызывается из signals.py

tasks.py

from channels.layers import get_channel_layer


@app.task
def send_request_notification():
    text = 'You have new cleaning request'
    channel_layer = get_channel_layer()

    async_to_sync(channel_layer.group_send)(
        'companies_received_request',  # group name 
        {
            'type': 'send_notification',
            'text': text
        }
    )

    print("SENT ---")  # can see result of this print

consumers.py

class NotificationConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        logger.info("Connected to websocket")

        await self.channel_layer.group_add(
            'companies_received_request', self.channel_name
        )
        await self.accept()


    async def disconnect(self):
        await self.channel_layer.group_discard(
            'companies_received_request', self.channel_name
        )
        logger.info("Disconnected from websocket")


    async def send_notification(self, event):
        logger.info("Here in sending notification")

        text_message = event['text']
        await self.send(text_message)

        print("EVENT.TEXT")
        print(text_message)

settings.py

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [('127.0.0.1', 6379)],
        },
    },
}

Предполагается, что я должен получить вывод prints и logging потребительских функций в терминале, но я ничего не получаю

Вернуться на верх