Monday, February 19, 2018

Re: [django-channels] Running multiple daphne servers

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEgp5wx8+ggeLmQKiikpDftiGHlegFAlqLLW0ACgkQkpDftiGH
legFZhAAp19YYhqbTaykH+0QWjpPlNj3rqskheV6EwAgNFaUzRQdYOP/ohGm5SH2
fw+Lv50mIedofoG7ra5C9gdmfCf7Ofrk26TcakOHet1gx4mzQUXvbzBkApfQRVG3
L4J4EduWNL09ptGzn5Ql5VhsotQphq9WEcU5I3vQUFqeW/VFMa+839wTdKGA7Qc1
GO7vbvVaAvJPgSCZWy2qeov0CIMDfRV7A/05qL1PaytfPWPJQZWrOVkcNqsj57io
aJK6cK+n8QeqAQ0384UjSBDIi3QSjjVhv0smMq4XDYN1THLJ3GXtqC9iWouNQ7dV
VdgbKIbIyigqdEPIRCOfJWkISko5S9++/LQV52RythGcIrex9lwob/SdSPstjqMS
XNs8rIpcpIFf66v31QGooPXAYyAaid8v97c3GyVmUsFteUt5pGL8YhWgjijyb/tq
R/LsvoevAsPm3LIoLC5rDA0Fz8OuC6emUulKEePXkNeGW/fuW8D9o9dyPrN2Wdk8
iCoZkLGMfRdvvY+ZHTvnrcD2Wa5s9vefh3ojzmpcJrEJ8WXlQ87UqVe6wMedW1TX
TMUMW2DJiSnJ7oemR5W/64hT45bUpWA9s8LByGOuuTiN5SZrr+HDl1LG/EyYu30s
jBjcWxf2X2zv2I4/+9lLbPpp3H+NDg98/ol5hJs6KLVk3O5H+ng=
=TSit
-----END PGP SIGNATURE-----
You're absolutely right, using different prefix solves the problem. asgi_redis seems to be ignoring 
my connection_kwargs where I set the db.

Connection_kwargs should be set like this, right?

REDIS = {
    "hosts": [(os.environ.get('REDIS_HOST'), 6379)],
    "connection_kwargs": {
        "db": os.environ.get('REDIS_DB'),
    }
}

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "asgi_redis.RedisChannelLayer",
        "ROUTING": "birdview_api.channels.routing.channel_routing",
        "CONFIG": REDIS,
    },
}

I double checked the env vars and also source code of asgi_redis, but still no luck.

Anyway, this question was already aswered. Different isntances need to have different prefix or db.


Thank you Andrew! going to update to channels 2.x soon

Cheers,
   Tom

19. 2. 2018 v 19:10, Andrew Godwin <andrew@aeracode.org>:

Presuming you are using Channels/Daphne 1, then the channel layer configuration is what determines what handles the requests.

If you're seeing environments answer each other's requests, check they really are using different Redis databases, and consider changing the prefix setting on the channel layer instead.

Andrew

On Mon, Feb 19, 2018 at 8:34 AM, Tomáš Ehrlich <tomas.ehrlich@gmail.com>wrote:
Hello everyone,
I'm running two instances of Daphne on my server (one per environment, production/staging). 
I'm using UNIX sockets behind nginx, but production requests are sent to staging and vice versa.

Workers and Daphne are using the same settings per environment (I'm using Redis as a channel
layer and each environment uses it's own DB), but how Daphne actually knows which workers
belongs to her?


Thank you in advance


Cheers,
   Tom

-- 
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 django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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/66fabb88-4350-4275-8d4e-25f30e4e3b00%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to a topic in the Google Groups "Django users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/django-users/wfxiPfqUPnk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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/CAFwN1urrLN7xVc3EM0-7rEeB2DyLo21JmB9bRiYQioYKq6bEfA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment