如何运行我的python代码的多个实例?

时间:2019-05-02 18:53:24

标签: python python-telegram-bot

我正在尝试使用不同的设置/选项多次运行我的python-telegram-bot代码。做这个的最好方式是什么?

我正在处理的这段代码有点像是将django注入python-telegram-bot来使用其惊人的ORM。我正在尝试使用不同的令牌运行我的机器人代码的多个实例。我已经读过subprocessthreading的书,但仍对应该怎么做感到困惑? 我是否应该编写一个单独的python脚本并以所需的选项/设置作为参数(使用subprocess.runos.system)运行它?

这将在Web服务中使用,并有望根据用户需要运行电报bot实例。那么也许有100个实例? 希望使用最少的cpu和内存。

ps:如果这个问题的标题更好,请在注释中提出。

1 个答案:

答案 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()
相关问题