|
|
|
|
|
|
|||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
|
|
LinkBack | Themen-Optionen | Thema bewerten |
|
|
#1 (permalink) |
|
Neuer Benutzer
Registriert seit: 09.09.2008
Beiträge: 5
![]() |
Wir haben eine Jobtabelle. In dieser Tabelle sind verschiedene Parameter gespeichert, die von einem PHP Script File verarbeitet werden.
Bei diesem Skript handelt es sich um verschiedene Datenbank und Filesystem Operationen. Je Skript gibt es eine Auführungsdauer von ca 1 min bis 30 min. Jedes Skript macht also anhand der Jobid seine Arbeit. ( z.B. jobexecuter.php?jobid=15 … jobid=19… jobid=23). Da es sich um PHP Skripts handelt ist die PHP Execution Timout auf 1 h gesetzt in der php.ini. PHP arbeitet nicht im Safemode. Die Skripts werden nur in einer Intranetumgebung ausgeführt. Über einen Webbroser kann ich nun jeweils die einzelnen jobs über meinen jobexecuter anhand der Jobid manuell ausführen lassen (e.g. ’ jobexecuter.php?jobid=15’). Diese Funktionalität ist gegeben und funktioniert auch einwandfrei. Jetzt meine Frage: Gibt es eine Möglichkeit das Vorgehen zu Automatisieren. Also ein Batch Skript (Windows) bzw. shellscript(Unix) zu erstellen, das mir die aktuellen Jobids aus der Datenbank holt und dann in einem Batch Skript z.b. Php –f jobexecuter.php 15 Php –f jobexecuter.php 18 Php –f jobexecuter.php 19 aufruft. Der Sinn dabei ist, dass meine Jobskripte im Hintergrund ablaufen können und dann über geplante Tasks(Windows) oder die Crontab (Unix) laufen koennen, Für das laden der jobids könnte ich ein weiteres php script erstellen das mir einen Array mit Ids zurueckgibt. Aber wie kann ich diesen Array an das Batch File zurueckgeben, so das die verschiedenen „Php –f jobexecuter.php x“ Anhand der Array Values in einer Batch Schleife ausgeführt werden können. Pseudocode job.bat Php –f Getids.php > Array Foreach (Array as Jobid) { Php –f jobexecuter.php Jobid } Was ganz wichtig wäre: Wie kann ich erreichen dass die PHP Executions nicht nacheinander ablaufen sondern gleichzeitig. Gibt es eine möglichkeit dafür in einem batch Skript die PHP Execution als Kindprozesse des aktuellen PHP Prozesses ablaufen zu lassen (Stichwort Multithreading). Oder könnte man für jeden Schleifendurchlauf eine Komandozeilen Fenster aufpoppen lassen. |
|
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#2 (permalink) |
|
moderatives Dielektrikum
Registriert seit: 21.05.2008
Beiträge: 25.134
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
per Befehlsumleitung sollte man die Ausgaben eines auf Kommandozeile laufenden PHP Programms eigentlich umleiten könnnen. Ob an eine Batchdatei oder ein ein Textfile bleibt Dir überlassen. Genauso könnte das Script auch eine Textdatei mit Jobs oder eine Batchdatei mit Aufrufen generieren, die Du anschließend anstößt.
__________________
-- „Eins ist Fakt: Gescannt wird nackt!“ Privatsphäre 2.0 - Nacktscanner mit Eyetracking. Unser Flugzeug darf kein geschlechtsfreier Raum sein. -- |
|
|
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|