Si realmente necesita hacer esa llamada API para cada usuario periódicamente, lo configuraría de manera diferente:
- Agregue dos columnas a su tabla:
lastUpdated
yisBeingProcessed
(o algo similar); - Haga un script que se ejecute cada X (1?) minutos usando cron;
- En su secuencia de comandos, obtenga los registros XX (¿10?) con la
lastUpdated
más antigua fecha y que no se está procesando y establezca elisBeingProcessed
bandera; - A medida que finaliza cada llamada a la API, actualice la información del usuario, incluido el
lastUpdated
fecha u hora y desarmado elisBeingProcessed
bandera;
Dependiendo de lo que su servidor pueda manejar y de lo que permita la API, incluso puede configurarlo para que varios trabajos se ejecuten simultáneamente o se superpongan, lo que reduce mucho el tiempo total de actualización.