разных запроса к разным источникам, и полученный результат соеденить вместе и отправить уже в базу.
Как это примерно реализовать?
А почему не реквестс?
каждый запрос выполняется 300-600 мс.... суммарно в 2 раза больше
А куда спешишь?
Такая задача. Нужно чтобы суммарное выполнение всего скрипта занимала меньше 1 секунды
А откуда такое требование взялось?
а если интернет лаганёт?
Потому что скрипт выполняться должен раз в секунду
Зачем? Что будешь делать если сайты зависнут?
там есть эксепшены и мониторинг
Так зачем тебе скрипт раз в секунду запускать? В чем проблема запускать раз в 5?
Такие требования бл
Ты сам себе их выставил или бизнес требует?
Мне кажется ему надо типа ожидание после получения ответа сделать, а не просто херачить каждую секунду
яж написал бизнес
Не понял, ты и есть бизнес?)
иногда бизнес надо посылать нахер
задача ьобновлять данные раз в секунду... не больше не меньше. Иногда дапускаются кратковременные просадки но не постоянно
А у источника данных нет механизма подписки на обновления (webhook, например)?
Задача скрипта и собирать оперативные данные с разных источников и объединять и сохранять в бд. Чтобы другие сервисы уже этим пользовались
ну хуевое решение ты придумал для такой задачи, энивей gather всякие есть
тебе надо отправить несколько запросов сразу, правильно?
грубо говоря разные апи. с них надо получить данные, обьеденить и провалидировать и записть в бд
https://stackoverflow.com/questions/53021448/multiple-async-requests-simultaneously но это все еще не лучший вариант реализации подобных тем, но если тебе уперлось сделать все в одном треде то воут
Время работы скрипта имхо нет смысла гарантировать (ну разве что ты будешь резать по таймауту отклик - если для тебя такое действительно важнее чем респонз)
Ты что то типа графаны делаешь?)
Ничего не мешает результаты класть в очередь и писать в базу
С очередью это плохой вариант. База тоже работает не идеально и там тоже есть свои задержки... бывают и приличные. А в очередь там может столько всего накидаться в момент пролага какого. Что усогобит в разы ситуацию
Какие-то надуманные проблемы и попытки их решить менее надёжными способами.
Задача - в базе иметь актуальные данные из разных источников. С точностью до 1 секунды. Предложите вариант менее надуманный и более надежный
Общая идея - организовать каким-то образом WAL - то есть по большому счёту очень того, что должно быть записано в базу. Как это делать - возможны варианты. Можешь у какого-нибудь условного заббикса методики посмотреть.
Что такое WAL? Хотя бы в дух словах что ты имеешь ввиду?
Write ahead log.
Write Ahead Log
С Забиксом работаю плотно, но не задумывался как он куча метрик и куда пишет
Обсуждают сегодня