В настоящее время я пытаюсь настроить гибкость движка Google App, используя структуру django с django -каналами. для моего текущего проекта мне нужен веб-сокет, поэтому я пытаюсь восстановить учебник, предлагаемый на веб-сайте, с помощью Django -каналов: https://channels.readthedocs.io/en/latest/tutorial/
В настоящее время я застрял на добавление Redis в мой экземпляр google-app-flex. Я следил за документацией Google по настройке соединения Redis - к сожалению, пример находится в Flask: google do c Я предполагаю, что моя ошибка тривиальна, и мне просто нужно подключить django CHANNEL_LAYERS к redis proporly.
выполнение sudo gcloud redis instances describe <redisname> --region=us-central1
дает мне следующий ответ:
Изображение: «Redis Describtion»
выполнение sudo gcloud app describe
, этот ответ:
Я настроил свой app.yaml
следующим образом:
# app.yaml
# [START runtime]
runtime: python
env: flex
entrypoint: daphne django_channels_heroku.asgi:application --port $PORT --bind 0.0.0.0
runtime_config:
python_version: 3
automatic_scaling:
min_num_instances: 1
max_num_instances: 7
# Update with Redis instance IP and port
env_variables:
REDISHOST: '<the ip in "host" from "Redis Describtion" image above>'
REDISPORT: '6379'
# Update with Redis instance network name
network:
name: default
# [END runtime]
.. и в моем settings.py Я добавил это как соединение redis (что, кстати, кажется неправильным):
#settings.py
import redis
#settings.py stuff...
#connect to redis
redis_host = os.environ.get('REDISHOST', '127.0.0.1')
redis_port = int(os.environ.get('REDISPORT', 6379))
redis_client = redis.StrictRedis(host=redis_host, port=redis_port)
# Channels
ASGI_APPLICATION = "django_channels_heroku.routing.application"
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
"hosts": [('127.0.0.1', 6379)],
},
},
}
что я делаю не так. как правильно подключиться к Redis, используя Django?
вот несколько ссылок:
https://cloud.google.com/memorystore/docs/redis/connect-redis-instance-flex
Django , Redis: где разместить код подключения
Развертывание приложения Django каналов на движке Google Flex
Как подключиться к экземпляру Redis ( memorystore) из Standard App Engine от Google (Python 3,7)
https://cloud.google.com/memorystore/docs/redis/connect-redis-instance-flex
https://cloud.google.com/memorystore/docs/redis/quickstart-gcloud