партнерский раздел
ФорумЭксплуатацияAPI интеграции метод GetEvents как получить поток событий

Эксплуатация » API интеграции метод GetEvents как получить поток событий

Необходимо получить поток событий в реальном времени.
Есть метод GetEvents.
Понял, чтобы получить ВСЕ события необходимо заполнить BeginTime и EndTime без фильтров.
Сделал непрерывный цикл получения:
...
GetEvents [2024-10-04T12:59:23.877+03:00]-[2024-10-04T12:59:25.303+03:00]
null
GetEvents [2024-10-04T12:59:25.304+03:00]-[2024-10-04T12:59:26.517+03:00]
[Event][2024-10-04T12:59:25.000+03:00][{5A893C55-3782-EF11-A916-000C293F4079}]
[Event][2024-10-04T12:59:25.000+03:00][{5B893C55-3782-EF11-A916-000C293F4079}]
[Event][2024-10-04T12:59:25.000+03:00][{5D893C55-3782-EF11-A916-000C293F4079}]
[Event][2024-10-04T12:59:26.000+03:00][{5C893C55-3782-EF11-A916-000C293F4079}]
GetEvents [2024-10-04T12:59:26.518+03:00]-[2024-10-04T12:59:27.856+03:00]
[Event][2024-10-04T12:59:26.000+03:00][{5C893C55-3782-EF11-A916-000C293F4079}]
[Event][2024-10-04T12:59:27.000+03:00][{5E893C55-3782-EF11-A916-000C293F4079}]
GetEvents [2024-10-04T12:59:27.857+03:00]-[2024-10-04T12:59:29.163+03:00]
[Event][2024-10-04T12:59:27.000+03:00][{5E893C55-3782-EF11-A916-000C293F4079}]
GetEvents [2024-10-04T12:59:29.164+03:00]-[2024-10-04T12:59:30.409+03:00]
null
GetEvents [2024-10-04T12:59:30.410+03:00]-[2024-10-04T12:59:31.635+03:00]
null
...
Увидел что события повторяются в разные интервалы и фильтр по времени не работает с точностью до мСек.
Понял, что BeginTime и EndTime учитываются с точностью до Сек.

Получается, чтобы правильно получить поток событий без потерь и без повторов, нужно каждый следующий интервал делать пересекающимся с предыдущим на 1 Сек., при получении массива событий нужно искать (по текстовому guid!) каждое событие из текущего массива в массиве от предыдущего интервала и если это событие там есть - отбрасывать.

Реализация сервиса интеграции мягко говоря странная.

Прошу поделиться опытом. Кто как решал эту проблему?




 

1 месяц 16 дней назад

avatar
А в чём проблема если опрашивать сервер с интервалом 1 сек и более?

В моей старой реализации интеграционного софта период опроса вообще настраиваемый и там интервал в 10 сек вполне себя оправдывает.

Налетов Константин 1 месяц 14 дней назад

Проблема не в том с каким интервалом опрашивать сервер. Можно опрашивать с любым интервалом 1 сек. и более, чем больше интервал тем больше задержка по получению.
Проблема в том что интервал указывается с точностью до сек. и если делать интервалы не пересекающимися то будет потеря событий. Если делать интервалы пересекающимися то получаем избыточный трафик и тратим ресурсы на поиск повторяющихся событий.
У меня большой опыт интеграции с другими системами. При получении событий чаще стараются не использовать http запросы, но если их используют то вводят сквозной счетчик событий и певый запрос делается по временному фильтру, далее запрос от номера события.

Сергей Владимирович 1 месяц 14 дней назад

Сергей Владимирович, это же болид тут всё не как у всех 
Не уверен, т.к. не помню, но посмотрите не имеет ли событие GUID, если есть, то вот вам и идентификатор.

Налетов Константин 1 месяц 14 дней назад

guid как текстовое поле в структуре событий есть, я писал выше

Сергей Владимирович 1 месяц 14 дней назад

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

2 ответа

При получении событий чаще стараются не использовать http запросы,

чем не решение вопроса ;)

1 месяц 14 дней назад

avatar
техподдержка сообщила что иной возможности получения событий нет.
только GetEvents через сервис интеграции

Сергей Владимирович 1 месяц 14 дней назад

SQL никто не отменял, но это не через техподдержку, конечно.

Трунова Людмила Геннадьевна 1 месяц 13 дней назад

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

техподдержка отреагировала.
решение в работе.
скорее всего будет введен сквозной счетчик событий и он будет добавлен в структуры и методы api
спасибо!

1 месяц 13 дней назад

avatar
День добрый, как успехи, выслали вам новый билд с реализацией вашего предложения?

Королёв Владислав Сергеевич 7 дней 19 часов назад

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

Добавить ответ

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

ПОКАЗАН

394 раза

ЗАДАН

1 месяц 16 дней назад

По каждому вопросу/ответу можно добавлять комментарии. Комментарии предназначены для уточнения вопроса/ответа.