Mysql
 sql >> Base de données >  >> RDS >> Mysql

Plus de 1000 appels d'API avec 1 tâche cron ?

Si vous avez vraiment besoin d'effectuer périodiquement cet appel d'API pour chaque utilisateur, je le configurerais différemment :

  • Ajoutez deux colonnes à votre tableau :lastUpdated et isBeingProcessed (ou quelque chose de similaire) ;
  • Créez un script qui s'exécute toutes les X (1 ?) minutes à l'aide de cron ;
  • Dans votre script, récupérez les XX (10 ?) enregistrements avec le plus ancien lastUpdated date et qui n'est pas en cours de traitement et définissez le isBeingProcessed drapeau ;
  • À la fin de chaque appel d'API, mettez à jour les informations de l'utilisateur, y compris le lastUpdated date ou heure unset the isBeingProcessed drapeau ;

En fonction de ce que votre serveur peut gérer et de ce que l'API permet, vous pouvez même le configurer pour que plusieurs tâches s'exécutent simultanément / se chevauchent, ce qui réduit considérablement le temps total de mise à jour.