@RobHabr

Как машина состояний AIOGRAM хранит данные?

Допустим есть такая функция в конечном автомате на одном из шагов.

@router.message(Command(...), StateFilter(...))
async def myfunction(message: Message, state: FSMContext):
         await state.update_data(text=message.text)
         data = await state.get_data()
         print(data)
         await state.set_state(NextState)


Если множество пользователей, скажем 500 вызовут её, то для всех пользователей message.text будет храниться отдельно когда применяется await state.update_data(text=message.text), не перепишет ли кто-то чьи-то другие данные?

Важное условие, ни бд, ни MemoryStorage не используется.

На двух пользователях данные вроде хранятся отдельно, проверял через print, но что насчет 500?
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 1
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
Если множество пользователей, скажем 500 вызовут её

А Вы попробуйте, программист должен уметь тестировать.

При использование await state.update_data(text=message.text) данные сохраняются отдельно, для каждого из пользователей.
Важное условие, ни бд, ни MemoryStorage не используется.

В aiogram по дефолту используется MemoryStorage (хранение в оперативе сервера).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы