如何设置Python生成器在后台运行,并在生成结果时将其结果附加到列表中?

如何设置Python生成器在后台运行,并在生成结果时将其结果附加到列表中?,python,generator,telegram,coroutine,Python,Generator,Telegram,Coroutine,我有一个接收电报信息的程序(使用模块)。我希望它的生成器函数(接收消息)在后台运行,只需将接收到的任何消息附加到列表中即可。这个想法是程序可以做自己的事情,而不是因为等待消息而停止。只要觉得合适,它就会检查接收到的消息列表 那么,如何将这个生成器设置为在后台运行,这样它就不会停止程序等待消息 import pytg import pytg.utils import pytg.receiver messages_received = [] @pytg.utils.coroutine def r

我有一个接收电报信息的程序(使用模块)。我希望它的生成器函数(接收消息)在后台运行,只需将接收到的任何消息附加到列表中即可。这个想法是程序可以做自己的事情,而不是因为等待消息而停止。只要觉得合适,它就会检查接收到的消息列表

那么,如何将这个生成器设置为在后台运行,这样它就不会停止程序等待消息

import pytg
import pytg.utils
import pytg.receiver

messages_received = []

@pytg.utils.coroutine
def receiver_function(tg_receiver):
    while True:
        message = (yield)
        messages_received.append(message)
        print("message received and added to list of messages received")

tg_receiver = pytg.receiver.Receiver()
tg_receiver.start()
tg_receiver.message(receiver_function(tg_receiver))
receiver.stop()

这似乎是python模块的工作。您可以生成一些工作线程以在后台运行并侦听电报消息。您应该创建一个线程管理器来创建工作线程,还可以将对消息列表的引用传递给工作线程。但这可能会变得很棘手,因为您似乎需要线程之间的共享对象