Sauber Python-Multiprozess-Kündigung abhängig von einer exit-flag

Ich bin versucht, erstellen Sie ein Programm mit mehreren Prozessen, und ich würde gerne sauber beenden Sie alle Prozesse hervorgebracht, wenn Fehler auftreten. unten habe ich geschrieben, einige pseudo-Art code für das, was ich glaube ich tun muss, aber ich weiß nicht, was der beste Weg ist, zu kommunizieren, um alle Prozesse, bei denen ein Fehler aufgetreten ist und beendet werden soll.

Ich denke, ich sollte mit Klassen für diese Art der Sache, aber ich bin ganz neu bei Python, so dass ich versuche nur, in meinen Kopf zu kriegen zuerst die Grundlagen.

#imports

exitFlag = True

# Function for threads to process   
def url_thread_worker( ):   
# while exitFlag:
    try:
        # do something
    except:
        # we've ran into a problem, we need to kill all the spawned processes and cleanly exit the program
        exitFlag = False

def processStarter( ):

    process_1 = multiprocessing.Process( name="Process-1", target=url_thread_worker, args=( ) ) 
    process_2 = multiprocessing.Process( name="Process-2", target=url_thread_worker, args=( ) ) 

    process_1.start()
    process_2.start()


if __name__ == '__main__':
     processStarter( )

Vielen Dank im Voraus

InformationsquelleAutor Daniel Pilch | 2013-11-14
Schreibe einen Kommentar