我正在尝试使用不同的设置/选项多次运行我的python-telegram-bot代码。做这个的最好方式是什么?
我正在处理的这段代码有点像是将django注入python-telegram-bot来使用其惊人的ORM。我正在尝试使用不同的令牌运行我的机器人代码的多个实例。我已经读过subprocess
和threading
的书,但仍对应该怎么做感到困惑?
我是否应该编写一个单独的python脚本并以所需的选项/设置作为参数(使用subprocess.run
或os.system
)运行它?
这将在Web服务中使用,并有望根据用户需要运行电报bot实例。那么也许有100个实例? 希望使用最少的cpu和内存。
ps:如果这个问题的标题更好,请在注释中提出。
答案 0 :(得分:1)
好吧,如果您正在寻求最大的计算性能,则希望使用子流程,因为全局解释器锁定可防止同时运行计算密集型代码。 (线程和异步非常适合IO密集型场景。)
我建议为此使用多处理模块-它允许您使用本机Python结构调用子流程,而不必调用fork / exec或担心要执行哪个二进制文件。
大量学习Python文档:
from multiprocessing import Process
def bot(token):
print(token)
if __name__ == '__main__':
p1 = Process(target=bot, args=('token1',))
p2 = Process(target=bot, args=('token2',))
p1.start()
p2.start()
p1.join()
p2.join()