Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Über 1000 API-Aufrufe mit 1 Cron-Job?

Wenn Sie diesen API-Aufruf wirklich regelmäßig für jeden Benutzer durchführen müssen, würde ich ihn anders einrichten:

  • Fügen Sie Ihrer Tabelle zwei Spalten hinzu:lastUpdated und isBeingProcessed (oder so ähnlich);
  • Erstellen Sie mit cron; ein Skript, das alle X (1?) Minuten ausgeführt wird.
  • Erhalten Sie in Ihrem Skript die XX (10?) Datensätze mit dem ältesten lastUpdated Datum und das, was nicht verarbeitet wird, und setzen Sie isBeingProcessed Flagge;
  • Aktualisieren Sie nach Abschluss jedes API-Aufrufs die Benutzerinformationen, einschließlich lastUpdated Datum oder Uhrzeit und setzen Sie isBeingProcessed zurück Flagge;

Je nachdem, was Ihr Server verarbeiten kann und was die API zulässt, können Sie ihn sogar so einrichten, dass mehrere Jobs gleichzeitig / überlappend ausgeführt werden, wodurch die Gesamtzeit für die Aktualisierung erheblich reduziert wird.