LongDonJohn
Mitglied
Hallo zusammen,
ich habe ein Script, dass täglich per Cronjob aufgerufen wird und eine große Menge Daten verarbeiten muss. Mittlerweile habe ich die max_execution_time auf 5000 raufgesetzt, aber das reicht auch schon nicht mehr und weiter möchte ich nicht gehen, da die Daten irgendwann so viel sind, dass das Script Stunden laufen wird. Dabei wird immer ein Datensatz aus der Datenbank gelesen und dann die Daten verarbeitet. Laufzeit für einen Datensatz etwa 5 - 50 Sekunden.
Also habe ich mir ich mir folgendes überlegt. Nach fertiger Abarbeitung des ersten Datensatzes leite ich das Script per header auf sich selbst mit einer Zählervariablen, so dass beim nächsten Aufruf der zweite Datensatz bearbeitet wird usw.
Das funktioniert soweit auch super, allerdings scheint beim erneuten Aufruf die execution_time nicht auf Null gesetzt zu werden, wie ich erhofft hatte, sondern einfach weiter zu laufen.
Funktioniert mein Ansatz prinzipiell nicht, oder muss ich dabei was Wichtiges beachten? Oder gibt es da eine elegantere Lösung?
Gruß
John
ich habe ein Script, dass täglich per Cronjob aufgerufen wird und eine große Menge Daten verarbeiten muss. Mittlerweile habe ich die max_execution_time auf 5000 raufgesetzt, aber das reicht auch schon nicht mehr und weiter möchte ich nicht gehen, da die Daten irgendwann so viel sind, dass das Script Stunden laufen wird. Dabei wird immer ein Datensatz aus der Datenbank gelesen und dann die Daten verarbeitet. Laufzeit für einen Datensatz etwa 5 - 50 Sekunden.
Also habe ich mir ich mir folgendes überlegt. Nach fertiger Abarbeitung des ersten Datensatzes leite ich das Script per header auf sich selbst mit einer Zählervariablen, so dass beim nächsten Aufruf der zweite Datensatz bearbeitet wird usw.
Das funktioniert soweit auch super, allerdings scheint beim erneuten Aufruf die execution_time nicht auf Null gesetzt zu werden, wie ich erhofft hatte, sondern einfach weiter zu laufen.
Funktioniert mein Ansatz prinzipiell nicht, oder muss ich dabei was Wichtiges beachten? Oder gibt es da eine elegantere Lösung?
Gruß
John