[英]how to run multiple instances of my python code?
我正在嘗試使用不同的設置/選項多次運行我的 python-telegram-bot 代碼。 做這個的最好方式是什么?
我正在處理的這段代碼是將 django 注入到 python-telegram-bot 以使用它的非凡 ORM。 我正在嘗試使用不同的令牌運行我的機器人代碼的多個實例。 我已經閱讀了關於subprocess
和threading
,但仍然對我應該做什么感到困惑? 我甚至寫了seprate python腳本,並與所需的選項/設置作為參數(與運行subprocess.run
或os.system
)?
這將用於網絡服務,並有望根據用戶需要運行電報機器人實例。 所以也許有 100 個實例? 希望使用最少的 CPU 和內存。
ps:如果這個問題有更好的標題,請在評論中提出。
好的,如果您正在尋找最大的計算性能,您希望使用子進程,因為全局解釋器鎖可以防止計算密集型代碼同時運行。 (線程和異步適用於 IO 密集型場景。)
我建議為此使用 multiprocessing 模塊 - 它允許您使用本機 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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.