Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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???

Geschrieben

erstmal sry wegen des falschen forums :rolleyes:

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

Geschrieben

- 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?

Geschrieben

- ein externer prozess läuft in einer endlosschleife, ist so in der lage

festzustellen, ob die besagte zeit bereits 1 ist

Aber 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.
Geschrieben

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 :rolleyes:

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?

Geschrieben
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?

Geschrieben
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.

Geschrieben
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 ;)

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...