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