如何在同一主机上 运行 2 个具有 Django 频道的站点?

How to run 2 sites with Django channels on the same host?

我尝试用 supervisord 启动 2 个 daphne 服务器和 2 个 worker。
但有时来自站点 #1 的请求在工人 #2 上,而来自站点 #2 的请求在工人 #1 上。

我应该使用不同的 Redis 服务器吗? Rly?
还是我在设置中缺少某些参数?

CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'asgi_redis.RedisChannelLayer',
        'CONFIG': {
            'hosts': [('{{redis_server}}', 6379)],
        },
        'ROUTING': '{{app}}.routing.channel_routing',
    },
}

您需要唯一的 prefix 参数:

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "asgi_redis.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("localhost", 6379)],
            "prefix": "gradcam",
        },
        "ROUTING": "gradcam.routing.channel_routing",
    },
}