dwex
Erfahrenes Mitglied
Hallo Leute,
ich zerbreche mir schon seit Tagen den Kopf und komme nicht auf eine Lösung.
Ich habe folgendes:
Ich habe eine Datenbank mit vielen Einträgen. Diese Einträge muss ich an ein externes Script via fopen übergeben und erhalte einen Statuscode zurück. Das ganze dauert pro Eintrag etwa 1 Sekunde sodass ich zwischen 50 und 100 Einträge pro Minute verarbeiten kann (genau weis ich das natürlich nie wieviele es sind).
"Gleichzeitig" muss ich aber teilweise mehrere tausend Einträge verarbeiten.
Der CronJob läuft minütlich, da in den DB-Einträgen steht wann diese Daten übergeben werden sollen.
Jetzt war mein Lösungsansatz folgender:
Nach dem Scriptaufruf setze ich für alle DB-Einträge die zu diesem Zeitpunkt abgesendet werden sollen einen Flag in die DB nach dem Motto "wird bearbeitet" sodass vom nächsten Scriptaufruf, welcher ja in der nächsten Minute passiert, diese Einträge nicht mehr abgearbeitet werden.
Jetzt kommt das Problem - was mache ich wenn das Script einfach abbricht, sei es jetzt wegen eines Timeouts oder wegen eines Serverfehlers. Dann sind in der DB die Einträge als "wird bearbeitet" markiert - dies werden jedoch nie abgearbeitet.
Hat jemand eine Idee wie man das lösen könnte?
Vielen Dank im voraus für eure Hilfe!
ich zerbreche mir schon seit Tagen den Kopf und komme nicht auf eine Lösung.
Ich habe folgendes:
Ich habe eine Datenbank mit vielen Einträgen. Diese Einträge muss ich an ein externes Script via fopen übergeben und erhalte einen Statuscode zurück. Das ganze dauert pro Eintrag etwa 1 Sekunde sodass ich zwischen 50 und 100 Einträge pro Minute verarbeiten kann (genau weis ich das natürlich nie wieviele es sind).
"Gleichzeitig" muss ich aber teilweise mehrere tausend Einträge verarbeiten.
Der CronJob läuft minütlich, da in den DB-Einträgen steht wann diese Daten übergeben werden sollen.
Jetzt war mein Lösungsansatz folgender:
Nach dem Scriptaufruf setze ich für alle DB-Einträge die zu diesem Zeitpunkt abgesendet werden sollen einen Flag in die DB nach dem Motto "wird bearbeitet" sodass vom nächsten Scriptaufruf, welcher ja in der nächsten Minute passiert, diese Einträge nicht mehr abgearbeitet werden.
Jetzt kommt das Problem - was mache ich wenn das Script einfach abbricht, sei es jetzt wegen eines Timeouts oder wegen eines Serverfehlers. Dann sind in der DB die Einträge als "wird bearbeitet" markiert - dies werden jedoch nie abgearbeitet.
Hat jemand eine Idee wie man das lösen könnte?
Vielen Dank im voraus für eure Hilfe!
Zuletzt bearbeitet: