Однако я столкнулся с проблемой, когда экземпляр Cloud Run запускается с холодного запуска. Словарь кажется пустым сразу после добавления соединения, хотя во время процесса я записываю состояние словаря. Вот фрагмент моих журналов:
2025-01-14 20:32:14.272 CET
добавлено соединение с комнатами: {'11d6a207-1700-466f-b32c-a880a32905b8' : {'36054a0d-cfbd-4283-b836-c3de613c2778': }
14 января 2025 г. 20:32:14.272 CET
add_connection конечная блокировка
2025-01-14 20:32:14.484 CET
получить комнаты {}
После того, как экземпляр Cloud Run прогреется (т. е. после холодного запуска) , все работает так, как ожидалось, и словарь ведет себя правильно.
Я подозреваю, что эта проблема может быть связана с конфигурацией или поведением Cloud Run во время холодного запуска. Я использую asyncio.Lock, чтобы избежать условий гонки, поэтому я не думаю, что параллелизм является проблемой.
Мои вопросы:
- Известна ли проблема с сохранением состояния в памяти между запросами во время холодного запуска Cloud Run?
- Стоит ли мне рассмотреть возможность изменения конфигурации (например, переключения между облаком первого и второго поколения) Бежать)?
Подробнее здесь: https://stackoverflow.com/questions/793 ... cold-start
Мобильная версия