magenspueler Geschrieben 26. November 2006 Geschrieben 26. November 2006 hi...hab 2 rechner, auf denen je ein xampp-server läuft. auf den einen rechner kann man vom internet aus zugreifen der andere ist nur per lan mit dem ersten verbunden. wenn nun ein user auf dem ersten rechner ne anfrage stellt von der ich weiss das die berechnung relativ lange dauert dann möchte ich dem php script sagen er soll ein anderes php script auf dem 2ten rechner aufrufen. wie geht das mit php??? Zitieren
Schiller256 Geschrieben 26. November 2006 Geschrieben 26. November 2006 Vielleicht beschreibst du dein Problem mal etwas genauer denn so richtig werde ich da nicht schlau draus. Für mich hört es sich so an als willst du einen Loadbalancer (Lastverteilung) haben. Gehe ich hier richtig in der Annahme? Zitieren
Klotzkopp Geschrieben 26. November 2006 Geschrieben 26. November 2006 wie geht das mit php???Eine Antwort auf diese Frage bekommst du eher im passenden Forum. Ein aussagekräftigerer Threadtitel hätte auch geholfen. Verschoben -> Skript- und Webserverprogrammierung Zitieren
magenspueler Geschrieben 27. November 2006 Autor Geschrieben 27. November 2006 erstmal sry wegen des falschen forums als ich die frage stellte, hat sich das problem gerade aufgetan, daher die ungünstige dartstellung. nun habe ich bereits versucht mehr herraus zu finden und denke ich kann die sache besser definieren. ich habe vor auf grund eines eingespielten events eine reaktion hervor zu rufen. dies soll nach folgendem schema passieren: - anwender klickt und gibt damit den befehl zu einer best. zukünftigen zeit einen eintrag in einer mysql tabelle zu verändern bzw. anzulegen - ein externer prozess läuft in einer endlosschleife, ist so in der lage festzustellen, ob die besagte zeit bereits 1 ist und wenn dies der fall ist, ändert er die tabelle wie zuvor vereinbart. (ich bin der meinung, dass soetwas nur geht, wenn dies ein zweiter recher tut, da, wenn der hauptserver in einer endlosschleife hängt, nichts mehr anderes passiert) - der zwischenzeitlich möglich offline gewesene user geht online und sieht die auswirkung der passierten veränderung. es ist notwendig, dass die änderung in realtime vollzogen wird. sie kann nicht erst berechnet werden, wenn der user das nächse mal online geht. ich habe gelesen, dass soetwas mit cgi ( SELFHTML: Perl / Perl-Module / Modul CGI: Funktionen für die CGI-Programmierung ) wohl möglich ist, nur kommt mir diese lösung nicht optimal vor (zitat: "...Ein Nachteil des CGI-Moduls ist allerdings, dass es recht groß ist. Bei CGI-Scripts, die sehr häufig aufgerufen werden (z.B. Zugriffszähler-Scripts auf vielbesuchten Seiten), kann sich das bei der Belastung des Server-Rechners bemerkbar machen. In solchen Fällen ist es durchaus vertretbar, sich bewusst gegen die Verwendung des CGI-Moduls zu entscheiden..." ) . gibt es eine effizientere lösung? kann es sein, dass ich ganz und gar auf dem holzweg bin und man über eine ganz andere herrangehensweise nachdenken sollte? ich bin für jeden tip dankbar. lg msp Zitieren
geloescht_JesterDay Geschrieben 27. November 2006 Geschrieben 27. November 2006 - ein externer prozess läuft in einer endlosschleife, ist so in der lage festzustellen, ob die besagte zeit bereits 1 ist und wenn dies der fall ist, ändert er die tabelle wie zuvor vereinbart. (ich bin der meinung, dass soetwas nur geht, wenn dies ein zweiter recher tut, da, wenn der hauptserver in einer endlosschleife hängt, nichts mehr anderes passiert) Wenn dein Betriebssystem nur einen Prozess gleichzeitig abarbeiten kann, dann stimmt das vielleicht (also so vor 30 Jahren war das vielleicht mal so). Dein Apache hängt ja praktisch auch in einer Endlosschleife und wartet darauf, dass eine Anfrage kommt. Genauso tut es das fast alles, was da auf deinen Rechner läuft... Deinen Prozess würde ich eh nicht mit PHP machen, da gibt es effizientere Möglichkeiten (wenn man die denn hat). Aber selbst wenn, kannst du PHP ja per CLI aufrufen, dann hat das mit dem Webserver ncihts zu tun und läuft als eigener Prozess. Als weitere IDee könntest du die Eintragungen auch gleich in die DB machen, dazu aber den Zeitpunkt miteintragen, ab dem die Eintragungen "gültig" sind. Bei jedem Abruf der Daten prüfst du dann die Zeit mit ab und zeigst den eintrag erst an, wenn er "gültig" ist. Somit brauchst du keinen zweiten Rechner oder zweiten Prozess oder sonstwas. Das sollte doch genau das tun, was du willst, oder nicht? Zitieren
magenspueler Geschrieben 28. November 2006 Autor Geschrieben 28. November 2006 wenn ihr mir helfen wollt schaut euch bitte das mal an: :: Happy-Security :: - Hackits, Challenges, Tutorials vllt. fällt euch ja was ein. thx lg msp Zitieren
Klotzkopp Geschrieben 28. November 2006 Geschrieben 28. November 2006 - ein externer prozess läuft in einer endlosschleife, ist so in der lage festzustellen, ob die besagte zeit bereits 1 istAber bitte nicht so wie dieser "Beispielcode" in dem anderen Forum. Du wartest mit voller Prozessorauslastung, das ist Gift für Multitaskingbetriebssysteme. Benutzt eine passende Wartefunktion. und wenn dies der fall ist, ändert er die tabelle wie zuvor vereinbart. (ich bin der meinung, dass soetwas nur geht, wenn dies ein zweiter recher tut, da, wenn der hauptserver in einer endlosschleife hängt, nichts mehr anderes passiert)Unsinn. Siehe oben. es ist notwendig, dass die änderung in realtime vollzogen wird.Bitte informiere dich, was Realtime bedeutet. Du brauchst sicher nicht mehr als eine Auflösung von einer Sekunde. nur kommt mir diese lösung nicht optimal vor (zitat: "...Ein Nachteil des CGI-Moduls ist allerdings, dass es recht groß ist. Bei CGI-Scripts, die sehr häufig aufgerufen werden (z.B. Zugriffszähler-Scripts auf vielbesuchten Seiten), kann sich das bei der Belastung des Server-Rechners bemerkbar machen. In solchen Fällen ist es durchaus vertretbar, sich bewusst gegen die Verwendung des CGI-Moduls zu entscheiden..." ) . gibt es eine effizientere lösung?Du wartest mit Volllast und machst dir Sorgen über die Performance von CGI? Das ist schon irgendwie ironisch. kann es sein, dass ich ganz und gar auf dem holzweg bin und man über eine ganz andere herrangehensweise nachdenken sollte?Ja ich bin für jeden tip dankbar.Ich habe den Eindruck (auch wenn ich die Beiträge in dem anderen Forum lese), dass du eine Menge Tipps bekommst, aber nicht befolgst. Zitieren
magenspueler Geschrieben 28. November 2006 Autor Geschrieben 28. November 2006 da hast du vllt. recht, aber ich bin gerade dabei mir wissen in dieser richtung anzueignen, d.h. noch bin ich nicht so wirklich der held wenn du mir weiterhelfen willst, dann wär es cool, wenn du mich auf meine fehler aufmerksam machen könntest. mich zu verspotten bringt mir nix ich wollte mit dem link das problem klar machen. ist es das? Zitieren
Klotzkopp Geschrieben 28. November 2006 Geschrieben 28. November 2006 wenn du mir weiterhelfen willst, dann wär es cool, wenn du mich auf meine fehler aufmerksam machen könntest.Genau das habe ich getan. mich zu verspotten bringt mir nix Wer hat dich denn verspottet? ich wollte mit dem link das problem klar machen. ist es das?Das Problem ist in meinen Augen, dass du die Tipps der Helfer nicht verstehst oder nicht umsetzen kannst. Du ziehst aus deinen vermeintlichen Anforderungen zum Teil recht wirre Schlüsse und lässt davon offenbar auch nicht ab. In welcher Form soll die Hilfe denn sein, dass sie bei dir ankommt und du zufrieden bist? Zitieren
magenspueler Geschrieben 28. November 2006 Autor Geschrieben 28. November 2006 ok. dann weiß ich jetzt, dass ich bekloppt bin. sag mir doch bitte was ich falsch interpretiert hab und wie ich es hätte interpretieren sollen. Zitieren
Klotzkopp Geschrieben 28. November 2006 Geschrieben 28. November 2006 ok. dann weiß ich jetzt, dass ich bekloppt bin. Dieses kindische Verhalten wird dich auch nicht weiterbringen. sag mir doch bitte was ich falsch interpretiert hab und wie ich es hätte interpretieren sollen.Vieles davon wurde dir schon gesagt. Was bringt es, wenn ich es wiederhole? Versuch doch mal, die Tipps, die du hier und in dem anderen Forum bekommen hast, umzusetzen. Und wenn du dabei auf Probleme stößt, melde dich wieder hier, mit einer konkreten Problembeschreibung. Oder mach's so: Schreib ein Skript, dass in eine andere Tabelle deiner Datenbank die einzutragenden Einträge mit der Zeit einträgt. Ein anderes Programm, das entweder wartet oder über einen Cronjob gestartet wird, prüft diese Tabelle regelmäßig auf Einträge, die fällig sind, und überträgt sie in deine eigentliche Tabelle. Zitieren
geloescht_JesterDay Geschrieben 28. November 2006 Geschrieben 28. November 2006 sag mir doch bitte was ich falsch interpretiert hab ... Als weitere IDee könntest du die Eintragungen auch gleich in die DB machen, dazu aber den Zeitpunkt miteintragen, ab dem die Eintragungen "gültig" sind. Bei jedem Abruf der Daten prüfst du dann die Zeit mit ab und zeigst den eintrag erst an, wenn er "gültig" ist. Somit brauchst du keinen zweiten Rechner oder zweiten Prozess oder sonstwas. Das sollte doch genau das tun, was du willst, oder nicht? Und das sollst du nicht interpretieren, sondern umsetzen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.