sql >> Databasteknik >  >> RDS >> Mysql

1000+ API-anrop med 1 cron-jobb?

Om du verkligen behöver göra det API-anropet för varje användare med jämna mellanrum, skulle jag ställa in det annorlunda:

  • Lägg till två kolumner i tabellen:lastUpdated och isBeingProcessed (eller något liknande);
  • Gör ett skript som körs var X (1?) minut med cron;
  • I ditt skript hämtar du de XX (10?) posterna med den äldsta lastUpdated datum och det som inte behandlas och ställ in isBeingProcessed flagga;
  • När varje API-anrop avslutas uppdaterar du användarinformationen inklusive lastUpdated datum eller tid och avaktivera isBeingProcessed flagga;

Beroende på vad din server kan hantera och vad API tillåter, kan du till och med ställa in den så att flera jobb körs samtidigt/överlappar, vilket minskar den totala tiden att uppdatera mycket.




  1. Hur kommer att ändra mysql-fälttypen från INT till VARCHAR påverka data som tidigare lagrats som en INT

  2. Specialtecken i MySQL-tabellnamn

  3. Modul Exporterar resultat av asynkron fn

  4. Varför fungerar inte den här MySQL-uppdateringen?