Hallo miteinander,
ich überlege mir derzeit ein Konzept für folgendes Szenario :
Da bei der Version des Internet Explorers in der Firma scheinbar ein Fehler mit HttpRequest (AJAX) POST vorliegt, kann ich nur GET nutzen. Deswegen muss ich für eine große Anfrage viele kleine Anfragen losschießen. Um die Datenbank zu entlasten, will ich nun die Ergebnisse einer Abfrage (<100 Zeilen) in einem Textfile speichern, um die nicht in den vielen Requests jedes mal wieder gegen die Datenbank zu schießen. Dieses File soll jeweils neu geschrieben werden, wenn es älter als 2 Minuten ist.
Mein Problem ist nun, dass ich das File nicht neu schreiben will, während noch ein anderer Aufruf darauf zugreifen will bzw. den Zugriff verhindern, solange das File gerade geändert wird. Das heißt, ich bräuchte eine Art Lock, um dem Script mitzuteilen, dass es warten soll, bis das Neuschreiben fertig ist. Ich habe mir nun überlegt, dass ich das über ein weiteres File abwickeln kann - aber auch das kann bei einem ungünstigen Timing zu Problemen führen, z.B. wenn nun gerade 2 Scripte exakt gleichzeitig feststellen, dass sie das File nun updaten wollen oder eines gerade am Lesen ist während das Neuerstellen angestoßen wird. Ein unabhängiges Script, was das File alle 2 Minuten updatet ist auch eher suboptimal, da es auch mal sein kann, dass das File mehrere Stunden nicht benötigt wird - dafür dann alle 2 Minuten einen Request an die Datenbank schicken ist auch irgendwie Overhead.
Von daher bitte ich um Ideen, wie man das ganze möglichst sicher und ressourcenschonend gestalten kann.
Ich hoffe, ich habe das Problem verständlich erläutert...
Danke und beste Grüße,
Compu
ich überlege mir derzeit ein Konzept für folgendes Szenario :
Da bei der Version des Internet Explorers in der Firma scheinbar ein Fehler mit HttpRequest (AJAX) POST vorliegt, kann ich nur GET nutzen. Deswegen muss ich für eine große Anfrage viele kleine Anfragen losschießen. Um die Datenbank zu entlasten, will ich nun die Ergebnisse einer Abfrage (<100 Zeilen) in einem Textfile speichern, um die nicht in den vielen Requests jedes mal wieder gegen die Datenbank zu schießen. Dieses File soll jeweils neu geschrieben werden, wenn es älter als 2 Minuten ist.
Mein Problem ist nun, dass ich das File nicht neu schreiben will, während noch ein anderer Aufruf darauf zugreifen will bzw. den Zugriff verhindern, solange das File gerade geändert wird. Das heißt, ich bräuchte eine Art Lock, um dem Script mitzuteilen, dass es warten soll, bis das Neuschreiben fertig ist. Ich habe mir nun überlegt, dass ich das über ein weiteres File abwickeln kann - aber auch das kann bei einem ungünstigen Timing zu Problemen führen, z.B. wenn nun gerade 2 Scripte exakt gleichzeitig feststellen, dass sie das File nun updaten wollen oder eines gerade am Lesen ist während das Neuerstellen angestoßen wird. Ein unabhängiges Script, was das File alle 2 Minuten updatet ist auch eher suboptimal, da es auch mal sein kann, dass das File mehrere Stunden nicht benötigt wird - dafür dann alle 2 Minuten einen Request an die Datenbank schicken ist auch irgendwie Overhead.
Von daher bitte ich um Ideen, wie man das ganze möglichst sicher und ressourcenschonend gestalten kann.
Ich hoffe, ich habe das Problem verständlich erläutert...
Danke und beste Grüße,
Compu
Comment