You did not miss anything, Daphne does not yet implement that part of the
spec. It's something I hope to have in the next release.

Andrew

On Tue, Apr 25, 2017 at 10:28 AM, Alexander Prokhorov <[email protected]>
wrote:

> Dear Andrew,
>
> thank you for advice. Now I am starting implementing ASGI worked based on
> one included in Channels. I would like to take a look at example of how to
> create and use single-reader channels properly, so I took Channels,
> asgi_redis and Daphne code base and did not found any place where such
> channels are created. In particular, I hoped to find the place where Daphne
> creates `http.request.body_channel` to handle large HTTP requests. To my
> surprise I did not found any `body_channel` mentions in the Daphne code
> except a single test, which simply checks the message for `body_channel`
> optional field. Do I miss something, or Daphne simply does not implement
> this concept and therefor cannot handle large requests sequentially by
> chunking them?
>
> воскресенье, 19 марта 2017 г., 21:18:07 UTC+3 пользователь Andrew Godwin
> написал:
>>
>> Workers can't dynamically change their channels during runtime, but you
>> can tell workers to only run specific channels in one of two ways:
>>
>>  - Have different routing configurations and different settings files
>> that point to each for the two worker groups
>>  - Use the --only-channels and --exclude-channels arguments to runworker
>> to restrict which channels it will process.
>>
>> You can still only do this once at the start of the application, though.
>> There's no way to dynamically vary what a worker wants at runtime because
>> of how the Channels framework is written and integrated into Django; you'd
>> have to do your own ASGI worker class from scratch if you wanted that.
>>
>> Andrew
>>
>> On Sun, Mar 19, 2017 at 5:57 AM, Alexander Prokhorov <[email protected]>
>> wrote:
>>
>>> Dear Colleagues,
>>>
>>> I am playing with Channels for some time already.
>>>
>>> Now, I am trying to establish "sticky" channel to one of available
>>> workers. I thought I can create single-reader channel from consumer and
>>> somehow fix the routing to make this particular worker handle this
>>> single-reader channel. I can use
>>>
>>> channels.channel_layers[channels.DEFAULT_CHANNEL_LAYER].new_channel(
>>> "my_exclusive_channel?")
>>>
>>> in consumer core to create single-reader channel, but I cannot
>>> understand how to setup routing properly in such case. I tried to implement
>>> router object from scratch, but as I see its method `channel_names` invoked
>>> only one time per worker. In other words, the problems reduces to the
>>> question if it is possible to attach some consumer to dynamically created
>>> single-reader channel.
>>>
>>>
>>> --
>>> 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/ms
>>> gid/django-users/be4c787f-1abc-4ece-8b74-ad13ce7180eb%40googlegroups.com
>>> <https://groups.google.com/d/msgid/django-users/be4c787f-1abc-4ece-8b74-ad13ce7180eb%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/f570799c-a6d7-4a15-bdb2-68b08cbe7c66%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/f570799c-a6d7-4a15-bdb2-68b08cbe7c66%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/CAFwN1upG%2BGFQvNugEWot5sdNKKu%2BDz8sxxFm2gmOzm%2B2odk0tQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to