schaggel
19.10.2007, 11:26:42
Guten Morgen,
ich möchte folgendes Problem lösen, bin mir aber nicht sicher, wonach ich suchen muss,
um den richtigen Ansatz zu finden.
Ein kleines Script prüft und kopiert Dateien auf und von einem Webserver.
Da sowas ja bei der Benutzung durch mehrere User gleichzeitig etwas problematisch wird, möchte ich die Ausführung des Scriptes durch mehrere Benutzer gleichzeitig unterbinden.
Ein Thread weiter unten wurde die Möglichkeit einer "Kontrolldatei" aufgezeigt.
Das gefällt mir allerdings aus zwei Gründen nicht sonderlich.
1. Grund
Zum anlegen und löschen von Dateien benötige ich meist CHMOD 777, was mir nicht wirklich behagt.
2. Grund - viel mehr Kopfschmerzen bereitet mir dann das Entfernen der "Kontrolldatei".
Wenn das Script durch den Benutzer abgebrochen wird oder durch Verbindungsprobleme, kann ich meine "Kontrolldatei" am Ende des Scriptes nicht löschen und mein Script bleibt gesperrt.
Wie also kann ich sicherstellen, das auch in solchen Fällen das Löschen der Kontrolldatei definitiv erfolgt ?
Hat jemand eine andere Idee, wie ich solch eine Sperrung durchführen könnte (ohne Kontrolldatei) ?
Da in dem Script auch mit Sessions und einer Datenbank gearbeitet wird, wäre das vielleicht auch ne Möglichkeit. Statt der Kontrolldatei könnte man eben die Session in der DB löschen (Es wird die Session ID, die Benutzerkennung und der Scriptname in der DB gespeichert). Aber nach einem Abbruch muss auch diese gelöscht werden ....
Wonach muss ich mich umschauen ? Mit welchen PHP-Hausmitteln kann man das bewerkstelligen ?
Danke für eure Hilfe !
ich möchte folgendes Problem lösen, bin mir aber nicht sicher, wonach ich suchen muss,
um den richtigen Ansatz zu finden.
Ein kleines Script prüft und kopiert Dateien auf und von einem Webserver.
Da sowas ja bei der Benutzung durch mehrere User gleichzeitig etwas problematisch wird, möchte ich die Ausführung des Scriptes durch mehrere Benutzer gleichzeitig unterbinden.
Ein Thread weiter unten wurde die Möglichkeit einer "Kontrolldatei" aufgezeigt.
Das gefällt mir allerdings aus zwei Gründen nicht sonderlich.
1. Grund
Zum anlegen und löschen von Dateien benötige ich meist CHMOD 777, was mir nicht wirklich behagt.
2. Grund - viel mehr Kopfschmerzen bereitet mir dann das Entfernen der "Kontrolldatei".
Wenn das Script durch den Benutzer abgebrochen wird oder durch Verbindungsprobleme, kann ich meine "Kontrolldatei" am Ende des Scriptes nicht löschen und mein Script bleibt gesperrt.
Wie also kann ich sicherstellen, das auch in solchen Fällen das Löschen der Kontrolldatei definitiv erfolgt ?
Hat jemand eine andere Idee, wie ich solch eine Sperrung durchführen könnte (ohne Kontrolldatei) ?
Da in dem Script auch mit Sessions und einer Datenbank gearbeitet wird, wäre das vielleicht auch ne Möglichkeit. Statt der Kontrolldatei könnte man eben die Session in der DB löschen (Es wird die Session ID, die Benutzerkennung und der Scriptname in der DB gespeichert). Aber nach einem Abbruch muss auch diese gelöscht werden ....
Wonach muss ich mich umschauen ? Mit welchen PHP-Hausmitteln kann man das bewerkstelligen ?
Danke für eure Hilfe !