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:
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:
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:
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