Hi
Ich habe insgesammt 3 scripte in phyton geschrieben alle 3 besitzen einen wiederkehrenden lauf und sollen durchgehend laufen. Soweit funktioniert das auch aber ich hab probleme diese in ein script zu kombinieren. dieses script soll am start gestartet werden und alle 3 scripte paralel starten aber es geht irgendwie nicht. Er macht alles nur nach der reiche sprch ich mus ein script stoppen damit er den 2. startet usw.
Kann mir jemand erklären wie ich das bewältigen kann?
mehrere scripte Paralel laufen lassen
-
tomtombusiness
- User
- Beiträge: 39
- Registriert: Samstag 22. März 2014, 14:24
- Kontaktdaten:
Tutorials sind auf meiner Website zu finden.
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Wirf ein Blick auf das Modul multiprocessing
http://docs.python.org/2/library/multiprocessing.html
http://docs.python.org/2/library/multiprocessing.html
-
BlackJack
@tomtombusiness: Man startet die einfach alle drei mit `subprocess.Popen()` und wartet dann nacheinander mit der `wait()`-Methode auf den `Popen`-Objekten.
-
tomtombusiness
- User
- Beiträge: 39
- Registriert: Samstag 22. März 2014, 14:24
- Kontaktdaten:
auch hier habe ich das probem das er nur ein process draus macht. Sprich er führt nur das script Einzelauftraege aus. Daher die 3 scripts aber einen loop haben also sie haben quasi kein ende , wird der 2. und 3. process net aufgebaut
Mein code
Mein code
Code: Alles auswählen
#!/usr/local/bin/python
# -*- coding: iso-8859-15 -*-
from multiprocessing import Process
import Einzelauftraege
import Serienauftraege
import Sofortsteuerung
name = (Einzelauftraege, Serienauftraege, Sofortsteuerung)
for i in range(3):
Process(name(i)).start()
Tutorials sind auf meiner Website zu finden.
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
-
BlackJack
@tomtombusiness: Da wird überhaupt nichts ausgeführt, das bricht mit der Fehlermeldung ab, dass Tupel nicht aufrufbar sind.
-
tomtombusiness
- User
- Beiträge: 39
- Registriert: Samstag 22. März 2014, 14:24
- Kontaktdaten:
es wird das erste script ausgeführt. ich bin ja net blöd 
Hat vieleicht jemand eine deutsche anleitung oder jemand lust es mir mal zu erklären?
Hat vieleicht jemand eine deutsche anleitung oder jemand lust es mir mal zu erklären?
Tutorials sind auf meiner Website zu finden.
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
-
BlackJack
@tomtombusiness: Okay, dann ist es ziemlich egal ob Du falschen Code in dem Modul hast, denn dann läuft das Skript offensichtlich schon beim ``import``. Schreib es so dass das nicht passiert und gut ist. Normalerweise steckt man das Hauptprogramm in eine Funktion die üblicherweise `main()` heisst. Und die wird dann am Ende vom Modul mit folgendem Idiom aufgerufen:
Dann kann man das Modul direkt ausführen, aber auch importieren *ohne* das die `main()`-Funktion ausgeführt wird.
`multiprocessing` würde ich hier soweit ich das sehe übrigens als Missbrauch ansehen. Denn das verwendet man eigentlich wenn man Funktionen parallelisieren will die auch Argumente und Rückgabewerte haben die zwischen den Prozessen ausgetauscht werden. Das brauchst Du aber anscheinend alles nicht. Vielleicht reicht ja auch schon das `threading`-Modul.
Code: Alles auswählen
if __name__ == '__main__':
main()`multiprocessing` würde ich hier soweit ich das sehe übrigens als Missbrauch ansehen. Denn das verwendet man eigentlich wenn man Funktionen parallelisieren will die auch Argumente und Rückgabewerte haben die zwischen den Prozessen ausgetauscht werden. Das brauchst Du aber anscheinend alles nicht. Vielleicht reicht ja auch schon das `threading`-Modul.
-
tomtombusiness
- User
- Beiträge: 39
- Registriert: Samstag 22. März 2014, 14:24
- Kontaktdaten:
Leider komme ich mit threading bzw thread nicht klar. Da ist alles das gleiche. Nur das erste script wird ausgeführt
Tutorials sind auf meiner Website zu finden.
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
-
BlackJack
@tomtombusiness: Das Problem liegt in Deinen Skripten! Der Code auf Modulebene wird beim *importieren* ausgeführt. Und wenn der nicht bis zum Ende durchläuft sondern da eine Endlosschleife drin ist, dann kommt Dein Startskript niemals über das erste ``import`` hinaus. Was man dagegen machen kann, habe ich im letzten Beitrag geschrieben.
Nur mit `subprocess.Popen()` würden die sich starten lassen ohne das man sie umschreiben muss.
Nur mit `subprocess.Popen()` würden die sich starten lassen ohne das man sie umschreiben muss.
-
tomtombusiness
- User
- Beiträge: 39
- Registriert: Samstag 22. März 2014, 14:24
- Kontaktdaten:
asoo jetzt verstehe ich 
Aber wo finde ich das subprocess
Aber wo finde ich das subprocess
Tutorials sind auf meiner Website zu finden.
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
-
tomtombusiness
- User
- Beiträge: 39
- Registriert: Samstag 22. März 2014, 14:24
- Kontaktdaten:
also Popen(DATEINAME? oder was muss hier rein)
Tutorials sind auf meiner Website zu finden.
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
-
BlackJack
@BlackJack: Das steht in der Dokumentation was da an Argumenten übergeben werden kann. Beispiele für die Verwendung des Moduls gibt es dort auch.
-
tomtombusiness
- User
- Beiträge: 39
- Registriert: Samstag 22. März 2014, 14:24
- Kontaktdaten:
kannst du mir helfen?
Ich hab halt eine daten Einzelauftraege.py und die soll damit gestartet werden und 2 andere dateien auch und das halt paralel nur ich raffs einfach net
Ich hab halt eine daten Einzelauftraege.py und die soll damit gestartet werden und 2 andere dateien auch und das halt paralel nur ich raffs einfach net
Tutorials sind auf meiner Website zu finden.
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Weiter Projektmitglieder werden Gesucht. Egal ob Profi oder Lernwilliger Anfänger
UMTS-Car Pi
ControlCar-Pi
Initiative Stottern ist ein Eisberg
Ein selbstbetroffener Stotterer erzählt von sich und seiner Intensivtherapie
Zum weiterlesen hier
Du könntest dein Problem viel schneller lösen, wenn du einfach die Dokumentation lesen würdest und nicht alle drei Minuten nach Hilfe fragst. Dort steht ganz genau was du machen musst.
Das Leben ist wie ein Tennisball.
