0
좋아요. 그래서 저는 아주 간단한 PyDispatch 신호 설정을 테스트 중이므로 왜 내가 여러 신호를받을 때마다 신호를 수신하는지 파악할 수 없습니다.PyDispatch는 1 회만 보낼 때 여러 개의 신호를 수신합니다.
코드 :이 나에게주는
class Strategy():
def __init__(self,name,exchange=Exchange(), system=System()):
self.SIGNAL='Strategy'
self.SENDER = 'Strategy'
self.system = system
self.name = name
self.connect_to_system()
def connect_to_system(self):
dispatcher.connect(self.receive_message, signal='System', sender='System')
self.system.connect_strategy(self.name)
def send_message(self,info, strategy):
print 'send strat'
dispatcher.send(signal=self.SIGNAL,sender=self.SENDER,info=info,strategy=strategy)
class System():
def __init__(self,exchange=Exchange()):
self.SIGNAL='System'
self.SENDER='System'
dispatcher.connect(self.receive_message, signal=dispatcher.Any, sender=dispatcher.Any)
def receive_message(self, sender, signal, **kwargs):
if sender == 'Strategy':
print kwargs, sender, signal
:
In [10]: strat.send_message("OK",'sender')
send strat
{'info': 'OK', 'strategy': 'sender'} Strategy Strategy
{'info': 'OK', 'strategy': 'sender'} Strategy Strategy
{'info': 'OK', 'strategy': 'sender'} Strategy Strategy
{'info': 'OK', 'strategy': 'sender'} Strategy Strategy