php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.05.2005, 21:12  
Gast
 
Beiträge: n/a
Standard [Erledigt] Paralleler Ablauf

Ich habe jetzt für ein phpbb Forum ein Jabber Benachrichtigungssystem geschrieben. Anstatt, dass er Bestätigungen vermailt, benachrichtigt er Benutzer per Jabber.

Nur damit tun sich einige Probleme auf. Der Verbindungsaufbau zu einem Server dauert zwischen 7-10Sekunden.
Jetzt war meine Frage, ob ich entweder ein Skript im Hintergrund laufen lassen kann, oder ein Programm im Hintergrund starten lassen kann.

Dabei kann ich jetzt entweder einen extra Client schreiben, der per Parameter oder stdin die Kommandos vom PHP Skript bekommt, oder einen Dämon, der auf einem lokalen Port horcht und dann reagiert.

Lieber wäre es mit aber, wenn ich das irgendwie mit den Boardmitteln von php zusammenkriege.

Hat da jemand eine Idee?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.05.2005, 21:20  
Gast
 
Beiträge: n/a
Standard

Zitat:
Dabei kann ich jetzt entweder einen extra Client schreiben, der per Parameter oder stdin die Kommandos vom PHP Skript bekommt, oder einen Dämon, der auf einem lokalen Port horcht und dann reagiert.
Du kannst auch crontab bemühen, weil es Wurscht ist, ob der Kollege die Nachricht ein paar Minuten später kriegt.
  Mit Zitat antworten
Alt 31.05.2005, 21:32  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von meikel
Zitat:
Dabei kann ich jetzt entweder einen extra Client schreiben, der per Parameter oder stdin die Kommandos vom PHP Skript bekommt, oder einen Dämon, der auf einem lokalen Port horcht und dann reagiert.
Du kannst auch crontab bemühen, weil es Wurscht ist, ob der Kollege die Nachricht ein paar Minuten später kriegt.
Stimmt. Das könnte ich auch tun. Aber dann lass ich gleich ein Programm laufen, dass die Datenbank abfragt und eine dauerhafte Verbindung zum Jabber Server hat.
Aber gibt es nicht eine einfachere Möglichkeit?
  Mit Zitat antworten
Alt 31.05.2005, 21:34  
Gast
 
Beiträge: n/a
Standard

Zitat:
Aber gibt es nicht eine einfachere Möglichkeit?
Was soll daran kompliziert sein?
  Mit Zitat antworten
Alt 31.05.2005, 21:40  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von meikel
Zitat:
Aber gibt es nicht eine einfachere Möglichkeit?
Was soll daran kompliziert sein?
Ein Extraprogramm schreiben ist komplizierter als nötig.
Und ein Crontab mache ich wirklich nur im allernötigsten Fall.
  Mit Zitat antworten
Alt 31.05.2005, 22:35  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

wenn dus per cronjob laufen lässt ist der skript ja nicht 'ständig' verbunden nur wenn der cronjob aufgerufen wurde macht er seinen job, logt sich ein, schickt die meldungen und logt sich aus -> fertig
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline   Mit Zitat antworten
Alt 31.05.2005, 22:45  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

hast du zugriff auf die console?

wenn ja dann mach doch sowas in der art:

exec('/usr/bin/php /pfad/zu/den/htdocs/deinphpjabberscript.php parameter >> /dev/null');

damit wird das script nur angestumpt, wie genau du da mit parametern arbeiten kannst musste im manual schauen :P

Zitat:
Beachten Sie auch, dass wenn Sie ein Programm mit dieser Funktion starten und Sie es im Hintergrund laufen lassen möchten, Sie sicherstellen müssen, dass die Ausgabe des Programms in eine Datei oder anderenen Ausgabestream umgeleitet wird. Andernfalls wird PHP solange laufen, bis das Programm beendet ist.
mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 01.06.2005, 00:03  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von blackbirdXXX
Zitat:
Zitat von meikel
Zitat:
Aber gibt es nicht eine einfachere Möglichkeit?
Was soll daran kompliziert sein?
Ein Extraprogramm schreiben ist komplizierter als nötig.
Du hattest diese Idee ins Spiel gebracht.
Zitat:
Und ein Crontab mache ich wirklich nur im allernötigsten Fall.
Warum einfach, wenns auch kompliziert geht.

Ich würde ein CLI Shellscript, daß sich die Daten aus einer DB lutscht, von einem Crontab aufrufen lassen...
  Mit Zitat antworten
Alt 01.06.2005, 14:27  
Gast
 
Beiträge: n/a
Standard

Also Zugriff auf die Shell hab ich. Die Methode von robo47 werde ich mal testen.
Momentan hab ich eine queue als Textdatei, in die die Nachrichtenaufträge eingetragen werden und von einem 5min. CronJob abgearbeitet werden.
Vielleicht krieg ichs aber noch in Echtzeit hin.
  Mit Zitat antworten
Alt 01.06.2005, 14:56  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von blackbirdXXX
Momentan hab ich eine queue als Textdatei, in die die Nachrichtenaufträge eingetragen werden und von einem 5min. CronJob abgearbeitet werden.
Von einer Textdatei rate ich Dir ab, weil es echt Mühe macht, das File gegen gleichzeitige Schreibzugriffe abzusichern.
Zitat:
Vielleicht krieg ichs aber noch in Echtzeit hin.
Bei "7-10Sekunden" Wartezeit auf die Verbindungsaufnahme betrachte ich die Vokabel 'Echtzeit' als deplaziert.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Termine nach Ablauf automatisch aus der DB löschen oder ausblenden Teela PHP Tipps 2008 4 24.03.2008 12:29
Ablauf eines Programms aha_01 PHP Tipps 2008 1 18.10.2007 16:30
Nach Ablauf einer Zeit Script ausführen PHP-Fortgeschrittene 5 20.12.2005 15:11
PHP ablauf ??? PHP Tipps 2005-2 7 08.07.2005 09:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
paralleler ablauf

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.