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 :

lancer une nouvelle instance


Sujet :

Python

  1. #1
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut lancer une nouvelle instance
    bonjour, je cherche a savoir comment je peux exécuter une fonction Python qui fait partie de mon programme sous forme de librairie et ce dans une nouvelle instance de python.
    J'explique : le but est de répartir la charge de traitement de mon serveur sur plusieurs processeur.
    En effet en utilisant les threads, ca ne fonctionne pas puisque les threads font partie de l'instance dans laquelle ils sont créer.

    J'aimerai donc lancer spécifiquement le traitement dans une nouvelle instance.

    Dans ce cas comment dois je passer mes paramètres?
    merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Par défaut
    Ma proposition:
    Utiliser subprocess.Popen (ou os.popen2) pour lancer une seconde instance de l'interpréteur Python qui exécutera un autre script. Le script exécuté de cette manière lira les arguments à passer à la fonction (sous forme de chaînes de caractères sur l'entrée standard), les décodera, appellera la fonction désirée et affichera sur la sortie standard le résultat, qui seront récupérés dans le programme principal par un pipe.

    Si l'API de la librairie se complexifie, et/ou pour avoir une utilisation plus transparente de cette librairie, je regardais du côté des RPC, mais cela demandera un peu plus de code.

    Dans Python 3.0, il y a le module multiprocessing qui serait sans doute utile.

  3. #3
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut
    merci pour la piste. Je vais commencer par regarder Popen, et je verrai a porter en python 3 mon appli un peu plus tard.
    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lancer une seule instance d'une classe
    Par Axiome dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/09/2008, 16h24
  2. pb de creation d'une nouvelle instance SQL2005
    Par SandraG dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/07/2008, 14h57
  3. Creer une nouvelle instance d'un xmlreader
    Par chris81 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/01/2008, 10h11
  4. MailMerge créé une nouvelle instance d'Access
    Par *.Har(d)t dans le forum Access
    Réponses: 6
    Dernier message: 09/05/2007, 12h07
  5. comment creer une nouvelle instance ?
    Par exyacc dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/04/2007, 09h54

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