Hey,
gibt es eine Möglichkeit eine Variable so zu deklarieren, dass sie über mehrere gleichzeitig laufende Scripts hinweg nutzbar ist?
Also User A ruft eine Datei XYZ.php auf, dort wird eine Flag gesetzt solange die Datei verarbeitet wird z.B. 30 Sekunden, User B ruft während der Laufzeit von XYZ.php eine Datei ZYX.php auf und erhält auf Grund der gesetzten Flag eine Fehlermeldung.
Natürlich wäre es möglich, das Ganze über eine Textdatei oder eine Datenbank zu lösen, ich frag mich aber ob es eine Variante mit Superglobals oder ähnlichem gibt.
---
Um Fragen vorzubeugen der Anwendungsfall:
Ich "missbrauche" PHPUnit und Selenium um einen Browser zu steuern und dort einige Sachen zu machen. Das ganze ist durch eine crontab getriggert und läuft ohne zeitliches Limit. Nun möchte ich verhindern, dass 2 Webbrowser-Instanzen parallel geladen werden, mir also die SessionID der Selenium-Instanz Superglobal abspeichern und diese Variable im Konstruktor auslesen. Stellt der 2. Aufruf fest, dass bereis eine Insanz läuft, soll durch werfen und catchen einer definierten Exception die Verarbeitung abgebrochen werden und 5 Minuten später der nächste Versuch unternommen werden.
Vielen Dank für eure Hilfe
Sven
gibt es eine Möglichkeit eine Variable so zu deklarieren, dass sie über mehrere gleichzeitig laufende Scripts hinweg nutzbar ist?
Also User A ruft eine Datei XYZ.php auf, dort wird eine Flag gesetzt solange die Datei verarbeitet wird z.B. 30 Sekunden, User B ruft während der Laufzeit von XYZ.php eine Datei ZYX.php auf und erhält auf Grund der gesetzten Flag eine Fehlermeldung.
Natürlich wäre es möglich, das Ganze über eine Textdatei oder eine Datenbank zu lösen, ich frag mich aber ob es eine Variante mit Superglobals oder ähnlichem gibt.
---
Um Fragen vorzubeugen der Anwendungsfall:
Ich "missbrauche" PHPUnit und Selenium um einen Browser zu steuern und dort einige Sachen zu machen. Das ganze ist durch eine crontab getriggert und läuft ohne zeitliches Limit. Nun möchte ich verhindern, dass 2 Webbrowser-Instanzen parallel geladen werden, mir also die SessionID der Selenium-Instanz Superglobal abspeichern und diese Variable im Konstruktor auslesen. Stellt der 2. Aufruf fest, dass bereis eine Insanz läuft, soll durch werfen und catchen einer definierten Exception die Verarbeitung abgebrochen werden und 5 Minuten später der nächste Versuch unternommen werden.
Vielen Dank für eure Hilfe
Sven
Kommentar