Skip to content
This repository has been archived by the owner on Sep 3, 2023. It is now read-only.

Реализовать инкрементальное обновление таблицы #425

Open
FrediKats opened this issue Sep 16, 2022 · 5 comments
Labels
area:google task Implementation is needed

Comments

@FrediKats
Copy link
Member

Сейчас фоновый поток обновляет гугл таблицу только при изменениях. Но пробелма может быть при большоим количестве студентов. Ради одного студента мы начинаем полное обновление таблицы. Нужно реализовать механизм, который бы снизил количество обновляемых ячеек. Самый очевидный вариант - выгружать таблицу перед записью и искать ячейки, которые не изменились.

@FrediKats FrediKats added task Implementation is needed area:google labels Sep 16, 2022
@FrediKats FrediKats moved this to 🆕 New in Shreks in dev Sep 16, 2022
@Mihinator3000
Copy link
Member

Mihinator3000 commented Sep 16, 2022

Мы точно хотим это делать? Я месяц назад выпилил похожую функцию, только потому что все решили обновлять таблицу полностью из-за возможных ошибок. Кроме того, если искать нужные ячейки, идет дополнительный запрос на получение таблицы, а too many requests как-то хочется избежать.

@FrediKats
Copy link
Member Author

Нужно обсуждать и пробовать. Я не говорю, что прям сейчас переходим на инкременты. Но в текущей реализации мы уже генерируем нагрузку на таблицу. Пользователи репортили, что из-за этого таблица подвисать может.

В идеале хотелось бы искать не отдельные ячейки, а вытащить лист (или лист без хедера) за один запрос и сравнивать. Если получиться сделать так, то мы же ещё меньше запросов будем делать, т.к. будем меньше обновлять.

@Mihinator3000
Copy link
Member

Mihinator3000 commented Sep 17, 2022

Проблема too many requests, идет не от самого количества запросов на обновление, а от батч апдейтов, которыми мы их посылаем. Сейчас идет 1 на таблицу, если еще и данные будем гетать, то 2, так можно будет легко ошибку поймать.
Я думал основная идея в том, что мы из базы тянем весь курс со всеми заданиями и хотелось бы это избежать. Но смысла в попытке оптимизировать количество запросов на таблицу не особо вижу. По поводу "подвисать", можно чуть подробнее описать, листать не получается когда она обновляется?

@FrediKats
Copy link
Member Author

FrediKats commented Sep 17, 2022

Пользователи получают что-то такое:
image

@Mihinator3000
Copy link
Member

Mihinator3000 commented Sep 17, 2022

Я на самом деле опасался, что будет что-то в этом духе, не уверен снизит ли количество запросов нагрузку на таблицу, я поэтому и думал что обновление будет не каждый 10 секунд вызываться, а чуть реже, хотя бы раз в минуту.

Upd: больше скажу, я не уверен, что это именно с обновлением связано, у меня щас такое же было, когда я просто на листе формулу менял, данные не обновлялись

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area:google task Implementation is needed
Projects
No open projects
Status: 🆕 New
Development

No branches or pull requests

2 participants