Я использую PyPubSub для использования шаблона публикации / подписки. Тем не менее, я столкнулся с кирпичной стеной. Каждый компонент программы, которую я пишу, будет работать в своем собственном потоке. Проблема, с которой я сталкиваюсь, заключается в следующем:
У меня есть метод экземпляра, который принимает один аргумент. Этот аргумент передается в этот конкретный метод экземпляра путем подписки на тему. Однако после создания объекта потока он хочет, чтобы аргумент был предоставлен.
Код (в настоящее время происходит внутри конструктора):
pub.subscribe(self.translate,self.topic_name_to_subscribe)
self.thread = threading.Thread(target=self.translate, args=(???,))
Вот метод экземпляра, который будет подписан:
def translate(self, data):
while self.run == True:
signals = data['signals']
translated_data = self.signal_separator.separate_signals(signals)
data_to_publish = {'data' : translated_data, 'captured_time' : data['captured_time']}
print(data_to_publish)
pub.sendMessage(self.topic_name_to_message, data=data_to_publish)
Если аргумент "данные" предоставляется путем подписки на тему ...
Я не совсем уверен, куда я иду не так. Я думаю, что это может быть просто вопросом места размещения каждой строки кода. Спасибо всем, кто ответил заранее.