wenn das skript über http erreichbar ist, kannst du einen HEAD absenden.
endlos-script
Collapse
X
-
jepp, das script ist über http erreichbar...
was meinst du mit HEAD absetzen? meinst du header() ?Konzeption * Development * Marketing
http://www.hirschfeld-software.info
Comment
-
einen dienst zu schaffen oder ein cronjob einzurichten ist zu ungenau
Ein Dienst oder Deamon ist genau das richtige!!!
Comment
-
Original geschrieben von e34jenser
einen dienst zu schaffen oder ein cronjob einzurichten ist zu ungenau da das script nicht immer in der gleichen zeit durchläuft. es soll ja so sein: wenn das script durchgelaufen ist soll es gleich, ohne pause, sofort wieder neu starten. bis ich einen status ändere, dann wird es mit exit() verlassen. und wird dann wieder duch das anschubsen zum laufen gebracht.
- über eine Website gibst du das Startsignal, der Webserver speichert in einer Datei, eine Datenbank, ... diesen Status, und genauso mit Stopsignal
- der Ablauf des Dienstes könnte wie folg sein
PHP Code:Start
Wenn (startstatus)
{
endlosschleife
{
tut dies
tut das
....
wenn (stopstatus) austeigen
}
}
Comment
-
Das stimmt!
Dabei wäre eine MultiThread Fähigkeit SEHR hilfreich..
Und damit ist PHP quasi schon aus dem Rennen!
Comment
-
Bei einem solchen Daemon ist es schön, wenn man einen "worker" Thread hat, welcher die harte Arbeit erledigt.
Und für die Komunikation erstmal einen Socket-Listen Thread startet, und dann für jede Verbindung einen einen weiteren Thread nachstartet.
Mit einer solchen Konstruktion handelt man recht einfach Mehrfachzugriffe ab. Die großen: Apache, MySQL, IRC, TeamSpeak uvm. handeln das so, oder so ähnlich ab. Nicht ohne Grund. Eignen würden sich dafür C,C++, Java, FreePascal uvm.
Um PHP diese Multithread Fähigkeit beizubiegen muß man eine Erweiterung von Hand einkompilieren, oder wild rum forken und mit interprozess Komunikation rumhampeln. Alternativ könnte man noch mit declare() irgendwelche dirty Hacks basteln. Aber das Ganze ist weder elegant, portabel noch sonderlich stabil.
Ich habe mich schon daran versucht und ettliche Beißhözchen dabei verschlissen.
Nee.. ich kann ein solches Vorgehen nicht empfehlen!!
evtl. bin ich auch einfach nur zu blöd dazuLast edited by combie; 26-01-2007, 01:15.
Comment
-
du hast insofern recht, als dass wir gar nicht wissen, was der gute e34jenser mit dem prozess nun vor hat und i.a. vom schlimmsten ausgehen und von php abraten.Um PHP diese Multithread Fähigkeit beizubiegen muß man eine Erweiterung von Hand einkompilieren, oder wild rum forken und mit interprozess Komunikation rumhampeln.
Comment
-
Ich sage auch gar nicht, daß es unmöglich ist, nur ein gehampel...
Mit Java bekommt man das sehr Plattformneutral hin.
Selbst mit FreePascal geht es noch relativ gut. Ein paar Kompilerschalter und es läuft unter Win als Dienst und als Linuxdeamon aus den selben Quellen...
Mit PHP unter Win ist das schon etwas unerfreulicher (sagt meine Erfahrung)
Nun... ich denke, wir sind uns einig, das PHP nicht das optimale Werkzeug dafür ist...
Comment
-
Okay, ich danke euch erstmal für all die antworten... ich habe leider noch nicht die lösung meines Problems gefunden...
okay, dann erkläre ich euch mal eben was ich grad mache:
ich habe eine liste mit domains, die in einer db stehen. das script soll diese domain anpingen ->exec(ping test.de... )<- und den status in eine db schreiben. wenn die domain frei ist soll der status in der db geändert werden. dieses script soll halt den ganzen tag auf dem linuxserver endlos duchlaufen.
vielleicht könnt ihr nun besser nachvollziehen was das script erledigen soll.Konzeption * Development * Marketing
http://www.hirschfeld-software.info
Comment
-
mit frei meine ich, ob man die domain registrieren kann...Konzeption * Development * Marketing
http://www.hirschfeld-software.info
Comment
Comment