Frage

Ich werde Ihnen eine Zusammenfassung des Systems geben. Es hat Bestellungen und jede Bestellung muss von einer externen API verarbeitet werden. Normalerweise müssen rund 100 200 Aufträge gleichzeitig verarbeitet werden, sodass es eine zeitaufwändige Aufgabe wäre. Derzeit verwende ich die normale Nachwuchs mit den Bestell-IDs, die eingeleitet werden, und ich habe PHP-Ressourcen bis zu einem gewissen Grad erhöht.

Das Hauptanliegen: Weiß nicht, ob das Skript aus irgendeinem Grund alle Ressourcen auftaucht und aufhört. Dies ist sehr unerwünscht, da sie während der Ausführung jederzeit aufhören kann. Das andere ist, dass ich nicht zu viel Ressourcen zuweisen möchte, da ich weiß, dass dies auch eine schlechte Idee ist.

Ich habe also gefragt, ob ich mehrere AJAX-Anfragen für jede Bestellung verwende, wäre das nicht besser? Es würde sicherlich mehr Zeit dauern, weil er die Anfrage erstellt und jedes Mal die Objekte und das Zeug instantiiert hat. Ich bin jedoch sicher, dass die zugewiesenen Ressourcen nicht mehr verwendet werden, und das Skript wird erfolgreich abgeschlossen. Es gibt mir auch die Möglichkeit, den Benutzer interaktiv darüber informieren, wie viele Bestellungen verarbeitet wurden.

Jedes Feedback von erfahrenen Benutzern ist willkommen.

War es hilfreich?

Lösung

Wenn Sie mehrere AJAX-Anforderungen ausführen, läuft sie parallel fort, also dauert es weniger Zeit, aber mehr Ressourcen.

Meiner Meinung nach sollte Sie Ajax verwenden, da Sie den Benutzer, wie Sie sagen, den Benutzer der Prozesse informieren können, und dies ist besser, dies zu tun, dann kann der Benutzer nicht wissen, was passiert, was passiert.

Wenn Sie auf einer Seite waren und 30 Sekunden lang auf der Verarbeitung erstarrt, würden Sie nicht wissen, ob das Skript abgestürzt hat oder was auch immer, aber wenn es 60 Sekunden lang war, aber Sie über den Fortschritt informieren würden, sind Sie mehrgeneigt, darauf zu warten, um fertig zu werden.

Sie können Bestellungen auch vorverarbeiten, wenn sie hinzugefügt werden, und beenden Sie die Verarbeitung, wenn die Bestellungen abgeschlossen sind (abhängig von Ihrem Bestellprozessmechanismus)

Andere Tipps

Ein Ajax-Anruf, der in der Lage ist, miteinander zu handhaben> 1 Bestellungen können noch besser sein, ohne zu wissen sowieso die Details Ihres Systems. Kontinuierliche Ajax-Anrufe sind auch eine (Server-) Ressource.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top