Hi!

I'm trying to create a chat that when it meets the condition of "hola" is 
sent by a task in celery. However, when it enters the condition the status 
is not updated, can someone help me?


I leave my code, please help me!


Please help me, thx! And sorry for my english :s


*consumers.py*

    import jsonfrom channels.generic.websocket import 
AsyncWebsocketConsumerfrom .tasks import MensajeAlGrupo
class Consumidor(AsyncWebsocketConsumer):
    async def connect(self):
        # Join room group
        await self.channel_layer.group_add(
            'grupo',
            self.channel_name
        )
        await self.accept()

    async def disconnect(self, close_code):
        await self.channel_layer.group_discard(
            'grupo',
            self.channel_name
         )

    # Receive message from WebSocket
    async def receive(self, text_data):
        text_data_json = json.loads(text_data)
        message = text_data_json['message']
        if str(message) == "hola":
            MensajeAlGrupo.delay()
        else:

            # Send message to room group
            await self.channel_layer.group_send(
                'grupo',
                {
                    'type': 'chat_message',
                    'message': message
                }
            )

    # Receive message from room group
    async def chat_message(self, event):
        message = event['message']

        # Send message to WebSocket
        await self.send(text_data=json.dumps({
            'message': message
        }))


*tasks.py*

    #De celeryfrom Filtros.celery import appfrom channels.layers import 
get_channel_layer

@app.task()
async def MensajeAlGrupo():
    channel_layer = get_channel_layer()
    await channel_layer.group_send(
        'grupo',
        {"type": "chat_message", "message": "Hello World"},
    )



*celery.py*

    #De celeryfrom __future__ import absolute_import, unicode_literalsimport 
osfrom celery import Celery
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Filtros.settings')

app = Celery('Proyecto')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

app.conf.update(
    BROKER_URL = 'redis://127.0.0.1:6379/0',)

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/873fa6e7-644d-485f-aabc-c4d384c758cf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to