如何 运行 我的 python 代码的多个实例?
how to run multiple instances of my python code?
我正在尝试 运行 我的 python-telegram-bot 代码多次使用不同的 settings/options。做这个的最好方式是什么?
我正在处理的这段代码有点像 django 对 python-telegram-bot 的注入,以使用它非凡的 ORM。我正在尝试 运行 我的机器人代码的多个实例具有不同的标记。我已经阅读了 subprocess
和 threading
,但仍然对我应该做什么感到困惑?
我什至应该编写一个单独的 python 脚本和 运行 它,并将所需的 options/settings 作为参数(使用 subprocess.run
或 os.system
)?
这将用于网络服务,预计 运行 用户需要的电报机器人实例。所以可能有 100 个实例?
希望使用最少的 cpu 和内存。
ps: 如果这个问题有更好的标题请在评论中提出。
好的,如果您正在寻找最大的计算性能,您希望使用子进程,因为全局解释器锁可防止计算密集型代码同时出现 运行。 (Threading 和 Async 适用于 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()
我正在尝试 运行 我的 python-telegram-bot 代码多次使用不同的 settings/options。做这个的最好方式是什么?
我正在处理的这段代码有点像 django 对 python-telegram-bot 的注入,以使用它非凡的 ORM。我正在尝试 运行 我的机器人代码的多个实例具有不同的标记。我已经阅读了 subprocess
和 threading
,但仍然对我应该做什么感到困惑?
我什至应该编写一个单独的 python 脚本和 运行 它,并将所需的 options/settings 作为参数(使用 subprocess.run
或 os.system
)?
这将用于网络服务,预计 运行 用户需要的电报机器人实例。所以可能有 100 个实例? 希望使用最少的 cpu 和内存。
ps: 如果这个问题有更好的标题请在评论中提出。
好的,如果您正在寻找最大的计算性能,您希望使用子进程,因为全局解释器锁可防止计算密集型代码同时出现 运行。 (Threading 和 Async 适用于 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()