партнерский раздел
ФорумЭксплуатация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!) каждое событие из текущего массива в массиве от предыдущего интервала и если это событие там есть - отбрасывать.

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

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




 

10 месяцев 22 дня назад

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

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

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

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

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

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

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

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

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

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

2 ответа

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

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

10 месяцев 19 дней назад

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

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

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

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

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

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

10 месяцев 19 дней назад

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

Королёв Владислав Сергеевич 9 месяцев 13 дней назад

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

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

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

ПОКАЗАН

1139 раз

ЗАДАН

10 месяцев 22 дня назад

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