Оба утверждения протоколирования и печати внутри 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 потребительских функций в терминале, но я ничего не получаю