Ако наистина трябва периодично да извършвате това API извикване за всеки потребител, бих го настроил по различен начин:
- Добавете две колони към вашата таблица:
lastUpdated
иisBeingProcessed
(или нещо подобно); - Направете скрипт, който се изпълнява на всеки X (1?) минути с помощта на cron;
- В своя скрипт вземете XX (10?) записите с най-стария
lastUpdated
дата и която не се обработва и задайтеisBeingProcessed
флаг; - Когато всяко извикване на API завършва, актуализирайте потребителската информация, включително
lastUpdated
дата или час за премахване наisBeingProcessed
флаг;
В зависимост от това какво може да обработва вашият сървър и какво позволява API, можете дори да го настроите да изпълнява няколко задачи едновременно/припокриващи се, намалявайки общото време за актуализиране много.