Как бороться с большими файлами ICS? - PullRequest
0 голосов
/ 10 января 2020

Мое приложение (php / laravel, но здесь не имеет значения) содержит записи календаря для своих пользователей (сравнимые с автомобильным журналом), и некоторые пользователи хотят синхронизировать c эти события с выбранным приложением календаря. Я начал изучать стандарт ics ( RF C 5545 et c.) И создал конечную точку, которая генерирует эти файлы.

Проблема: Файлы становятся огромными. У некоторых пользователей есть вся история вождения с сотнями и тысячами записей в приложении, генерация и передача этих мегабайт файлов ICS займет несколько лет (в любом случае, с использованием php), не говоря уже о том, чтобы делать это каждый раз, когда приложение календаря пытается синхронизировать * 1018. *.

Вопрос (ы): Какой предпочтительный способ работы с большими документами ICS? Заголовки HTTP и кэширование - это одно, но как другие люди решают эту проблему? Просто отправить события прошлого года? Есть ли (нумерация страниц)? c, который я еще не нашел?

1 Ответ

0 голосов
/ 17 февраля 2020

Это исторические данные, поэтому они не изменятся. Вы можете предлагать пакеты по периодам времени и кэшировать исторические партии. Например, последние годы или что-либо до последних 4 недель никогда не обновляются. Они делают одноразовый импорт каждой исторической партии в отдельный календарь «истории вождения». Нет больше подписки? Или, может быть, они могут подписаться только на последний месяц, скажем?

Нельзя импортировать и подписываться в одном и том же календаре, поэтому это означает, что у них будет как минимум 2 календаря - 1 исторический календарь, используемый для импорта, и 1 «текущий», который будет обновляться во время вчерашней поездки. Конечно, тогда есть ручное усилие для любого, кто хочет всегда иметь старые данные, как когда события выпадают из «текущего» календаря, в какой-то момент им придется go импортировать последние «старые» события.

...