Bonsoir à tous,

Je suis face à un problème épineux pour moi, mais je pense que je loupe simplement quelque chose et je souhaitez avoir votre aide.

J'ai un programme organisé entre plusieurs module et j'aimerais avoir une queue qui les relis.

l'arborescence de mon projet est la suivante :
/game/
-------/__init__.py
-------/server.py
-------/client.py
prog.py

le code de prog.py :
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
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random,time,threading
try:
	import Queue
except ImportError:
	import queue as Queue
 
from game import server,client
enStock = Queue.Queue(0)
 
server.Server().start()
 
for i in range(3):
	client.Client().start()
 
try:
	time.sleep(30)
except (KeyboardInterrupt, SystemExit):
	pass
le code de server.py :
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
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time,threading
try:
	import Queue
except ImportError:
	import queue as Queue
 
class Server(threading.Thread):
	def __init__(self):
		threading.Thread.__init__(self)
		self.daemon = True
 
	def run(self):
		while True:
			print(enStock.get(True))
le code de client.py :
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
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time,threading
try:
	import Queue
except ImportError:
	import queue as Queue
 
class Client(threading.Thread):
	def __init__(self):
		threading.Thread.__init__(self)
		self.daemon = True
 
	def run(self):
		while True:
			enStock.put('test',True,None)
			time.sleep(1)
Mais forcément les modules n'arrivent pas à accéder à la queue "enStock"....
J'ai essayer de le mettre dans le __init__.py, de faire "global enStock" , de faire plusieurs déclarations, d'y accéder en tant que attribut du module, mais rien n'y fait, je ne trouve pas comment faire :/

Quelqu'un aurez une idée comment je pourrais résoudre ça ?
Merci d'avance!