Bim360 Forge получить список измененных элементов - PullRequest
0 голосов
/ 06 мая 2020

Наша организация использует Bim360 Docs. Я пишу сервис, который должен постоянно обновляться при любых изменениях документов / папок в проекте. Я использую WebHook API для достижения этой цели.

Все работает нормально, если служба всегда работает, но если она будет треснуть sh или будет какое-либо обслуживание, то она неизбежно пропустит некоторые вызовы веб-перехватчика и никогда не узнают, что какой-то файл / папка был обновлен, перемещен или удален. Я ищу способ получить все изменения в файлах / папках проекта, которые произошли, когда моя служба была отключена. Что-то вроде GET projects/:project_id/changes?sinceTs=1588764730.

Если такого метода нет, то во время «холодного старта» мне нужно будет пройтись по иерархии проекта, сравнивая версии (или mtime) файлов / папок, чтобы найти, что изменилось. Это выполнимо, но может занять много времени, так как наш типичный проект содержит ~ 6k папок.

1 Ответ

0 голосов
/ 07 мая 2020

Если такого метода нет, тогда во время «холодного запуска» мне нужно будет пройтись по иерархии проекта.

Оптимально было бы подумать о настройке кластера избыточных экземпляров чтобы вы могли обновлять / поддерживать каждый из них и по-прежнему иметь возможность получать обратные вызовы, доступные в целом, или, по крайней мере, иметь резервную службу для получения и сохранения (временно) обратных вызовов для вашего приложения, чтобы вернуться в онлайн и использовать

Я бы посоветовал иметь всегда активный шлюз (например, FaaS на AWS / Azure et c) с возможностью либо перехватывать обратные вызовы, когда ваше приложение не работает для обслуживания, либо перенаправлять их на вашу замену.

...