Вчерв весь день возился с закачкой результатов доствки sms сообщений из sms glibal в adobe. Это как поженить кошку с собакой. С одной стороны, adobe хочет получить не более 200 сообщений за один вызов функции. С другой стороны sms global предлагает выкачивать сообщения, отсортированные по дате в убывающем порядке. Можно настроить пагинацию но она тоже будет работать в убывающим порядке. То есть если процесс где-то поломался, то часть сообщений можно просто не увидеть. Но это еще не все. Пагинация работает до 10000 сообщений, после чего sms global падает с ошибкой. Разгрваривал с их инженером по этому поводу, получил стандартное "это не баг, это фича."
Короче страдания. Баг с пагинацией можно обойти, если записать дату последнего сообщения в блоке, настроить фильтр пагинации на эту дату и перенести оффесет на начало. Тогда можно выкачать еще 10к. На самом деле, правда, меньше так как оффесет начинается с единицы... что очень много говорит о способностях программистов с sms global.
Но проблема еще и в том, что javascript для коннекторов в Adobe поставляется какой-то урезанный. Массы нужных функций там просто нет, к примеру, отсутствует такая нужная, казалось бы, вещь как xtk.session.getOotion/setOption. То есть нет возможности сохранить на каком месте пагинации ты был, между вызовами функций.
К счастью можно создавать новые файлы на диске, чем я успешно воспользовался. Состояние пагинации записывается в файл и грузится из него же.
В итоге все работает, правда про мултитрединг забудьте. Но бонусом идёт тот факт что если функция упала с ошибкой, она просто выкачает ту же страничку ещё раз.
Буду тестировать, посмотрим, может наконец заработает. В QA 20к статусов выкачались примерно за минуту.
Короче страдания. Баг с пагинацией можно обойти, если записать дату последнего сообщения в блоке, настроить фильтр пагинации на эту дату и перенести оффесет на начало. Тогда можно выкачать еще 10к. На самом деле, правда, меньше так как оффесет начинается с единицы... что очень много говорит о способностях программистов с sms global.
Но проблема еще и в том, что javascript для коннекторов в Adobe поставляется какой-то урезанный. Массы нужных функций там просто нет, к примеру, отсутствует такая нужная, казалось бы, вещь как xtk.session.getOotion/setOption. То есть нет возможности сохранить на каком месте пагинации ты был, между вызовами функций.
К счастью можно создавать новые файлы на диске, чем я успешно воспользовался. Состояние пагинации записывается в файл и грузится из него же.
В итоге все работает, правда про мултитрединг забудьте. Но бонусом идёт тот факт что если функция упала с ошибкой, она просто выкачает ту же страничку ещё раз.
Буду тестировать, посмотрим, может наконец заработает. В QA 20к статусов выкачались примерно за минуту.