Se hai davvero bisogno di effettuare periodicamente quella chiamata API per ogni utente, la configurerei in modo diverso:
- Aggiungi due colonne alla tua tabella:
lastUpdatedeisBeingProcessed(o qualcosa di simile); - Crea uno script che venga eseguito ogni X (1?) minuti usando cron;
- Nel tuo script, ottieni i record XX (10?) con il meno recente
lastUpdateddata e quella non in fase di elaborazione e impostare ilisBeingProcessedbandiera; - Al termine di ogni chiamata API, aggiorna le informazioni sull'utente incluso
lastUpdateddata o ora e deselezionareisBeingProcessedbandiera;
A seconda di ciò che il tuo server è in grado di gestire e di ciò che consente l'API, puoi persino configurarlo per eseguire più lavori contemporaneamente/sovrapposti, riducendo molto il tempo totale per l'aggiornamento.