IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

threads et processes différents


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 15
    Par défaut threads et processes différents
    Bonjour,

    j'ai deux programmes: une interface web, et un programme python à part qui se charge de lancer plusieurs processes.
    Je souhaiterais depuis l'interface web pouvoir stopper/redémarrer (et éventuellement échanger des infos) ces threads qui sont lancés par le programme python externe.

    J'ai pensé à l'utilisation de subprocess et Popen, mais vu que les deux processes (interface web, et programme externe) sont strictement indépendants, il me semble difficile de les utiliser. Qu'en pensez-vous?

    Avez-vous une idée ?

    merci,
    Silvio

  2. #2
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Bonjour,

    une petite indication sur le système d'exploitation que tu utilises serait la bienvenue ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 15
    Par défaut
    Citation Envoyé par plxpy Voir le message
    Bonjour,

    une petite indication sur le système d'exploitation que tu utilises serait la bienvenue ...
    Il s'agit de Linux...

  4. #4
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Bonjour,

    tu peux peut être utiliser un client/serveur rpc en local?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 15
    Par défaut
    Citation Envoyé par pacificator Voir le message
    Bonjour,

    tu peux peut être utiliser un client/serveur rpc en local?
    J'ai suivi ton conseil, mais j'obtiens cette erreur:

    "cannot marshal None unless allow_none is enabled"

    Je ne comprends pas d'où celà peut venir, sachant que j'ai simplifié à l'extrême le contenu de la fonction.

    Pour info le code:
    côté server:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    class Server(threading.Thread):
     
    	def __init__(self):
    		self.running=False
    		threading.Thread.__init__(self)
     
    	def start(self):
    		self.server=SimpleXMLRPCServer(("localhost", 8000), requestHandler=RequestHandler)
    		self.server.register_introspection_functions()
    		self.server.register_function(getthreadstatus_fnct, 'getstatus')	
    		self.running=True
    		super(Server,self).start()
     
     
    	def run(self):		
    		while (self.running):
    			self.server.handle_request()
     
    	def stop(self):
    		self.server.server_close()
    		self.running=False
     
    # en global
     
    def getthreadstatus_fnct():
    	return True
     
    srv=Server()
    srv.start()
    côté client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            server = xmlrpclib.ServerProxy('http://localhost:8000')		
    	print server.system.listMethods()
    	threadstatus=server.getstatus()
    	print threadstatus

Discussions similaires

  1. Débutant : thread ou process
    Par weabow dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 20/05/2014, 18h28
  2. Thread ou process
    Par girouxv dans le forum C#
    Réponses: 1
    Dernier message: 30/03/2011, 18h35
  3. [Thread][System.nano] Différentes mesures
    Par peipito dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 29/01/2011, 12h09
  4. Différence entre process et thread
    Par Mastero dans le forum MFC
    Réponses: 6
    Dernier message: 19/07/2005, 13h52
  5. [Process]Execution de process dans un thread
    Par devjava dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 18/06/2004, 10h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo