php.de

Zurück   php.de > php.de Intern > Off-Topic Diskussionen

Off-Topic Diskussionen Mach mal Pause vom Programmieren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.09.2011, 12:55  
Benutzer
 
Registriert seit: 29.09.2010
Beiträge: 50
PHP-Kenntnisse:
Anfänger
IcePHP befindet sich auf einem aufstrebenden Ast
Standard Interaktion zwischen Python und PHP?

Guten Tag an Alle,

ich habe mir gerade mal kurz Python angeguckt, weil ich ein kleines Projekt vor habe.
Und zwar würde ich gerne ein kleines Python Programm skripten, das eine Aktion mit meiner MySQL Datenbank erledigt.
Warum gerade Python?! Ich habe erst gedacht, es nur mit PHP zu machen, aber habe festgestellt, dass PHP kein multithreading unterstützt. Dabei kam ich dann auf Python.
Dieses kleine Programm soll über eine längere Zeit (ca. 1 Stunde laufen)
Ist es nun möglich dieses Python Programm mit PHP zu starten und wieder zu beenden?
IcePHP ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.09.2011, 13:10  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

starten JA .. beenden ... eher nicht

schau dir exec() und Konsorten an

bzw bau das python script gleich als cronjob auf , dann brauchst du es nicht mal anzuschieben

bedenke aber deine prognostizierte Laufzeit ... du brauchst einen Aufruf, der danach sofort wieder zum php-Script zurückkehrt - du willst ja schließlich nicht 1 Stunde lang im Browser auf die Sanduhr gucken (mal abgesehen davon, das php / Webserver nach einiger Zeit von allein dichtmachen)
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 20.09.2011, 13:13  
Benutzer
 
Registriert seit: 29.09.2010
Beiträge: 50
PHP-Kenntnisse:
Anfänger
IcePHP befindet sich auf einem aufstrebenden Ast
Standard

Mhh...
Gibt es sonst vielleicht eine andere Möglichkeit ein Script/Programm zu schreiben, was aufm Webserver läuft und dort Aufgaben mit der Datenbank erledigt. Dabei sollte multithreading verfügbar sein.
An schönsten wäre es dann noch, wenn man es mit PHP starten und wieder beenden kann, aber vielleicht ist das auch zu viel des guten...
IcePHP ist offline   Mit Zitat antworten
Alt 20.09.2011, 14:07  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ich weiß gar nicht, was du immer mit multithreading meinst ....?

der Webserver startet einen eigenen Prozess für jede Useranfrage. Wenn da ein Mehrkernprozessor oder sowas arbeitet, dann wird das selbstverständlich benutzt. Wenn dieser Prozess feststellt, das PHP nötig ist, wird eben PHP gestartet.... Dabei reicht doch ein Thread pro User durchaus hin ....

warum denn dieses Fingerbrechen mit ner Anwendung, die dann auch noch Ewigkeiten rennt - und wieder beendet werden soll ? nach 1 Stunde WEISS PHP DOCH GAR NICHT MEHR , dass es in einer vorhergehenden Sitzung irgendwann mal ein Programm gestartet hat ... das liegt in der Natur der Arbeitsweise begründet .

Leg doch bitte mal dar, was du EIGENTLICH BEZWECKST - und warum du denkst, du brauchst dafür eine externe Anwendung, die von PHP gestartet wird, ne Stunde rennt und dann wieder von PHP beendet wird?
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 20.09.2011, 14:12  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

PHP Thread-Controlling: http://www.php.net/manual/de/intro.pcntl.php

Du willst warscheinlich mehrere jobs nebeneinander ausführen, das nennt man Multi-Tasking, nicht Multi-Threading.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 20.09.2011, 14:19  
Benutzer
 
Registriert seit: 29.09.2010
Beiträge: 50
PHP-Kenntnisse:
Anfänger
IcePHP befindet sich auf einem aufstrebenden Ast
Standard

Ich habe eben gerade noch ein bisschen weiter geforscht und bin schon etwas weiter gekommen.
Gewollt ist ein kleines Programm, was einem kleinen Crawler ähnelt.
Mit dem multithreading meinte ich nur, dass ein download einer anderen Datei schon beginnt und nebenbei der Parser durchläuft. Ist ist, soweit ich weiß, mit Threads möglich und PHP hat diese Funktion leider nicht. Zudem hat ein PHP Skript auch einen TimeOut.
Ich habe mir halt nur gedacht, dass ich dieses "Programm", welches auf meinem Webserver liegen soll mit PHP starte und wenn gewollt auch wieder beenden kann. Dieses Programm sollte natürlich so gestartet werden, dass PHP nicht auf eine Antwort warten muss und es sozusagen im Hintergrund läuft.
Mit Python ist es wohl am einfachsten möglich, oder gibt es da noch andere Sprachen, die geeignet sind?
IcePHP ist offline   Mit Zitat antworten
Alt 20.09.2011, 14:32  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Wenn ich dich richtig verstanden habe, möchtest du asynchrone Events bedienen. Alternativ könntest du dafür auch nodejs oder vala verwenden.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist gerade online   Mit Zitat antworten
Alt 20.09.2011, 14:46  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von IcePHP Beitrag anzeigen
Gewollt ist ein kleines Programm, was einem kleinen Crawler ähnelt.
Nenn wir es baby.google.php.
Zitat:
Zitat von IcePHP Beitrag anzeigen
Mit dem multithreading meinte ich nur, dass ein download einer anderen Datei schon beginnt und nebenbei der Parser durchläuft. Ist ist, soweit ich weiß, mit Threads möglich und PHP hat diese Funktion leider nicht. Zudem hat ein PHP Skript auch einen TimeOut.
Tasks, nicht Threads.
Zitat:
Zitat von IcePHP Beitrag anzeigen
Ich habe mir halt nur gedacht, dass ich dieses "Programm", welches auf meinem Webserver liegen soll mit PHP starte und wenn gewollt auch wieder beenden kann. Dieses Programm sollte natürlich so gestartet werden, dass PHP nicht auf eine Antwort warten muss und es sozusagen im Hintergrund läuft.
Baue einen Deamon der Worker spawnt ( ja, genau wie der Apache ), dessen Logik zwar die Prozesse überwacht und kennt aber nicht auf dessen Ende wartet.
Zitat:
Zitat von IcePHP Beitrag anzeigen
Mit Python ist es wohl am einfachsten möglich, oder gibt es da noch andere Sprachen, die geeignet sind?
PHP.

deamon -> infinitiver Loop der Prozesse untersucht und auf nen socket horcht, entsprechend auf kommando spawnt und zerstört oder statusse ausliefert.

worker -> der nach dem spawn per socks auf den deamon verbindet und so mitgeteilt bekommt wann er nicht mehr idlen soll und was er zu tun hat.

Ich seh da nu immer noch nix was auch nur annähernd Multi-Threading bräuchte..
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 20.09.2011, 16:27  
Benutzer
 
Registriert seit: 29.09.2010
Beiträge: 50
PHP-Kenntnisse:
Anfänger
IcePHP befindet sich auf einem aufstrebenden Ast
Standard

Also wenn ich das richtig verstanden habe, dann funktioniert das wohl auch mit PHP. Jedoch verstehe ich gerade noch nicht so ganz, wie ich das mit PHP lösen kann. Das Script wird doch dann ewig laufen und irgendwann durch einen TimeOut getrennt.

Ich hatte gelesen, dass es schneller laufen würde, wenn man mehrere Prozesse gleichzeitig laufen lässt. Also z.b. Downloader und Parser.
IcePHP ist offline   Mit Zitat antworten
Alt 20.09.2011, 17:48  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

PHP-CLI Scripts unterliegen nicht irgendwelchen Timeout's vom Apache oder denen von PHP. Alloziierbarer Speicher voll, Script beendet mit Fehler. Lässt sich aber mit Maintenance-Restarts des Deamon-Scripts recht simpel beheben.

http://kevin.vanzonneveld.net/techbl...aemons_in_php/

Je nach dem was du machen willst, musst du nicht unbedingt einen reellen Deamon basteln. Insofern du mal grob umreißen würdest was du genau da redudant ausführen willst und was das genau macht, könnte man dir die ein oder andere Empfehlung aussprechen.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   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
Python auf PHP karabey PHP Einsteiger 1 18.06.2011 12:53
[Erledigt] Abstand zwischen Block-Elementen NikB HTML, Usability und Barrierefreiheit 12 28.06.2010 20:33
[Erledigt] Zufallszahl zwischen 0 - 6 ITrun90 JavaScript, Ajax und mehr 13 10.06.2010 20:02
Bild zwischen Hintergrund und Text TheRahl Scriptbörse 12 10.02.2010 20:12
[Erledigt] Zeichenkette zwischen zwei Zeichenketten aus einer Datei in eine Variable johnnyg PHP Tipps 2009 3 05.01.2010 07:11
Array Element zwischen zwei andere einfügen Ti-Systems PHP Tipps 2009 6 19.09.2009 18:01
Pylons Python Web Framework Programmierer gesucht! zmb Beitragsarchiv 0 12.05.2009 10:52
PHP Threading, Kommunikation zwischen Prozessen Frank PHP-Fortgeschrittene 1 14.03.2009 01:04
[Erledigt] Datum zwischen zwei Daten? zwerg Datenbanken 5 21.10.2008 19:54
zeit zwischen 2 datetime jens76 Datenbanken 13 08.06.2006 14:15
Text zwischen zwei zechen löschen PHP Tipps 2005-2 2 08.07.2005 19:21
[Erledigt] Kommunikation zwischen Objekten - Wie geht es richtig? PHP Tipps 2005 9 11.04.2005 00:57
[Erledigt] python script mit php aufrufen... PHP-Fortgeschrittene 1 17.11.2004 17:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php python interaktion, php über python aufrufen, ausführen python in php, python website interaktion, python kommunikation zwischen zwei tsks, python mit php aufrufen, phyton mit php aufrufen, php python nicht warten, php python ausführen antwort abwarten, php python script, python php script starten, mit php python ausführen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:21 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