I managed to reproduce it in small project: see here test case: https://github.com/emakarov/chantest
четверг, 12 января 2017 г., 2:26:37 UTC+3 пользователь Andrew Godwin написал: > > Oh, disregard that, cross-checking with the django-channels IRC channel I > see that it's the new message buffering behaviour going awry. You can track > the status of the fix in https://github.com/django/channels/issues/481 > > On Wed, Jan 11, 2017 at 3:22 PM, Andrew Godwin <[email protected] > <javascript:>> wrote: > >> Yes, as long as the management command uses the same settings and talks >> to the same Redis server, it should all intercommunicate. If you can get it >> reproducible I can definitely help more. >> >> Andrew >> >> On Wed, Jan 11, 2017 at 3:14 PM, Gene <[email protected] <javascript:> >> > wrote: >> >>> so, should it theoretically work in combination when runserver is >>> launched and I'm running in python manage.py shell ? >>> >>> in case I will not be able to find a solution, I'll try to reproduce it >>> on some special small project >>> >>> четверг, 12 января 2017 г., 2:11:16 UTC+3 пользователь Andrew Godwin >>> написал: >>>> >>>> It will only work with a Redis channel layer - in memory does not >>>> transport things across processes. As long as everything being used has >>>> the >>>> same channel layer settings and talks to the same Redis, I don't see why >>>> it >>>> wouldn't work. >>>> >>>> Andrew >>>> >>>> On Wed, Jan 11, 2017 at 3:07 PM, Gene <[email protected]> wrote: >>>> >>>>> I tried first with inmemory, then with asgi_redis.RedisChannelLayer >>>>> same result >>>>> working in runserver mode >>>>> >>>>> четверг, 12 января 2017 г., 2:06:15 UTC+3 пользователь Andrew Godwin >>>>> написал: >>>>>> >>>>>> That code looks correct. What channel layer are you using? >>>>>> >>>>>> On Wed, Jan 11, 2017 at 2:55 PM, Gene <[email protected]> wrote: >>>>>> >>>>>>> I'm trying to send messages to channels outside of consumers, as >>>>>>> said in documentation but can't get a result. >>>>>>> >>>>>>> For example, >>>>>>> in consumers.py I have: >>>>>>> >>>>>>> def channel_send(channel, data): >>>>>>> channel.send({ >>>>>>> 'text': json.dumps(data) >>>>>>> }) >>>>>>> >>>>>>> def group_send(kind, data): >>>>>>> data = { >>>>>>> 'kind': kind, >>>>>>> 'data': data >>>>>>> } >>>>>>> channel_send(Group(kind), data) >>>>>>> >>>>>>> def ws_connect(message): >>>>>>> Group("location_update").add(message.reply_channel) >>>>>>> channel_send(message.reply_channel, {'accept': True}) >>>>>>> group_send('location_update', {'msg': 'connected'}) >>>>>>> >>>>>>> def ws_disconnect(message): >>>>>>> # Remove from reader group on clean disconnect >>>>>>> Group("location_update").discard(message.reply_channel) >>>>>>> >>>>>>> def ws_message(message): >>>>>>> group_send('location_update', {'msg': 'connected'}) >>>>>>> >>>>>>> >>>>>>> When I send message from browser over websocket, I got a response in >>>>>>> console: >>>>>>> {"kind": "location_update", "data": {"msg": "connected"}} >>>>>>> >>>>>>> but, for example, when I try to use group_send function inside >>>>>>> management command, or if I try to use group_send in* python >>>>>>> manage.py shell* regime from shell - I don't get anything in the >>>>>>> browser >>>>>>> >>>>>>> channels==1.0.1 >>>>>>> >>>>>>> What may be the issue? >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 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/d1d54866-c155-40d7-abef-e5157f51d337%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/django-users/d1d54866-c155-40d7-abef-e5157f51d337%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>>> 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/1e890c7d-bc39-4fd9-815c-7a83d332b169%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/django-users/1e890c7d-bc39-4fd9-815c-7a83d332b169%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>> 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] <javascript:>. >>> To post to this group, send email to [email protected] >>> <javascript:>. >>> 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/07bc8c93-6742-4217-a487-ef3e7b57b4a2%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/django-users/07bc8c93-6742-4217-a487-ef3e7b57b4a2%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> > -- 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/363209d3-b9fa-416b-8f17-130508c4cd94%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

