Take: Dateisperren im Dauereinsatz

Beitrag lesen

Moin,

Eine krass andere Lösung sähe z.B. so aus: Deine DALs benutzen gar kein Lock. Wenn ein Prozess locken muss, wird in der Anwendungsklasse einfach ein

$this->LOCK = 1;

gesetzt. PHP Magic Methods laden, wie von Geisterhand bewegt, eine Klasse 'LOCK' als Attribut in die eigene Instanz. In Class 'LOCK' wird auf eine Ressource mit einem konstanten Pfadnamen das LOCK_EX gesetzt und erst wieder aufgehoben, wenn die Instanz Deiner Klasse stirbt :D

Klingt ja ganz cool, aber löst wieder das Problem nicht :P Denn auch hier können 2 Verschiedene Programm-Instanzen die Datei einlesen, bevor eine von beiden mit LOCK_EX sperrt.

Gruß,
Take