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 :

Multiprocessing un process qui controle les autres


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Multiprocessing un process qui controle les autres
    Bonjour,

    je cherche a créer 2 process parallèles.
    on va dire le process verif_image et le process balade
    Quand le process verif_image voit apparaire à l'ecran une image défini , il doit mettre en pause le process balade, faire son action puis reprendre le process balade. Es ce que quelqu'un aurait une idée de comment faire?

    Voici le code de verif_image :
    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
     
    def deconnexion(self):
            deconnexion = True
            taille_ecran = pyautogui.size()
            x_quart = int(taille_ecran.width / 4)
            y_quart = int(taille_ecran.height / 4)
            x_demi = int(taille_ecran.width / 2)
            print("multiprocess deconnexion : ", multiprocessing.current_process().pid)
            while deconnexion:
                try:
                    self.e.acquire("test")
                    # self.e.wait()
                    print("wait")
                    x_deco, y_deco = pyautogui.locateCenterOnScreen(
                        '/Images/license.png',
                        region=(x_quart, y_quart, x_demi, y_quart))
                except:
                    traceback.print_exc()
                    pass
                else:
                    print("presence license")
                    pyautogui.click(x_deco, y_deco)
                    self.e.release()
    voici le code pour le process balade :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    def test_multi(self):
            i = 0
            while True:
                print("test ", i)
                time.sleep(1)
                i += 1
    et le code pour lancer tous ça :
    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
     
                self.rempli_queue()
                print(self.q.qsize())           
                self.html.initTrip()
     
                self.e = multiprocessing.Condition()
                self.multi2 = multiprocessing.Process(target=self.deconnexion, name="deco")
     
                multi_test = multiprocessing.Process(target=self.test_multi, name="test")
     
                multi_test.start()
                self.multi2.start()
     
                multi_test.terminate()
     
                self.multi2.terminate()
    Merci d'avance à ceux qui pourront m'aider

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par flaviedesp Voir le message
    Quand le process verif_image voit apparaire à l'ecran une image défini , il doit mettre en pause le process balade, faire son action puis reprendre le process balade. Es ce que quelqu'un aurait une idée de comment faire?
    Il faut ouvrir la documentation de multiprocessing et voir la primitive de synchronisation la plus adaptée (Event ou Lock par exemple) et la mettre en œuvre.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Je l'ai ouverte, lu relu et rerelu mais rien n'y fait!!
    Je n'arrive pas a appliquer! Et personnellement, les explications sont tellement succincte et sans exemple que je n'arrive pas a l'appliquer.
    C'est pour cela, que je viens vers vous.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par flaviedesp Voir le message
    Je n'arrive pas a appliquer! Et personnellement, les explications sont tellement succincte et sans exemple que je n'arrive pas a l'appliquer.

    C'est pour cela, que je viens vers vous.
    Ce ne sont pas des constructions "pour débutants"... donc vous êtes capable de chercher un peu sur Internet pour y trouver exemples et tutos comme par exemple celui-ci.

    Vous devez être aussi capable de sortir le mécanisme de communication entre les processus de votre application pour le mettre au point indépendamment du reste. Et si vous n'arrivez pas à le faire fonctionner, vous aurez de quoi poster un exemple qui reproduira les soucis que vous avez (et comprendre ce que vous n'avez pas compris).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [Débutant] PB UpdatePanel qui reset les autres composants
    Par Tibà22 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/09/2013, 14h11
  2. Une fonction qui stoppe les autres
    Par Whombat dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/01/2009, 09h09
  3. menu déroulant qui pousse les autres éléments
    Par JackBeauregard dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 12/05/2007, 02h33
  4. Div qui perturbe les autres
    Par Garra dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 02/05/2007, 17h30
  5. champ d'un recordset qui bloquent les autres
    Par zooffy dans le forum ASP
    Réponses: 3
    Dernier message: 01/02/2007, 17h12

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