идея за статистика на обекти в Array.

vasilev

Registered
здравейте,
имам следните данни:

Код:
{"queue": [
  {
    "name": "TEST",
    "status": {
      "currentDepth": 1 
    }
  },
  {
    "name": "TEST2",
    "status": {
      "currentDepth": 2
    }
  },....

ще ги взимам на всяка минута и идеята ми е по някакъв начин да отбелязвам нещо от сорта:

stat: Depth:1,Time:2021-02-22 11:22:33; Depth:2, Time ...

или може дори без текста Depth, Time.
мога да записвам за всеки name от този array - едно поле в базата или да го ъпдейтвам ако има такова, но ако са 1000 примерно и не съм сигурен че този подход е оптимален.
Затова и пиша ако някой има друга идея за по-бързо и добро решение.

благодаря !
 
Може ли да обясниш пак какво искаш да направиш, че аз нещо нищо не разбрах :D
 
Пускаш крон задача да върти на всяка минутка. Правиш кеш на масива примерно за 5 минутки. Първичния масив го обработваш на порции по 100 примерно и изграждаш заявка и на стотната итерация я изпълняваш, като тъпчеш в базата данните. Вторичния кеширан масив проверява дали между сега извъртяния масив имаш разлика с кеширания за дадения ключ. Ако имаш разлика ъпдейтваш в базата, ако нямаш ключ добавяш в базата, ако ключа е еднакъв пропускаш итерация. Тоест хабиш време в обработка на масива, като помпаш в база само при липса или ъпдейтваш с нова стойност. Намаляваш броя заявки към базата от крона, като избягваш селект от базата или ако правиш такъв периодично ще е веднъж на 30 минутки примерно или не знам, зависи от логиката.
 
това има логика. по добре на локално да направя обработка за да не товаря сървъра със заявки към базата.
благодаря!
 

Горе