Существует ли подходящий шаблон проектирования для этой ситуации?
Я создаю простое приложение на Django, которое в основном является расширенной отчетностью для программного обеспечения, связанного с коммерцией. То есть я получаю информацию от имени пользователя из API другого программного обеспечения, делаю кучу агрегаций/вычислений данных, а затем показываю отчет пользователю.
Мне трудно понять, как сделать все это быстро. Хотя я уверен, что существуют оптимизации, которые можно сделать в моем коде Python, я хотел бы найти какой-то способ, чтобы иметь возможность выполнять несколько вычислений для достаточно больших наборов объектов, не заставляя пользователя ждать 10 секунд.
Проблема в том, что данные могут измениться в определенный момент. Если пользователь вносит изменения в свои данные в другом ПО, у меня нет способа узнать об этом, не обратившись к API снова за этой информацией. Поэтому я не вижу способа кэшировать информацию или предварительно получить ее, не делая смехотворное количество запросов к API.
В идеальном мире API имел бы веб-крючки, которые я мог бы использовать для отслеживания изменений данных, но это не вариант.
Лучше ли мне просто оптимизировать факторы, которые я контролирую, в меру своих возможностей и надеяться, что мои пользователи смогут с этим жить?