簡體   English   中英

如何運行我的python代碼的多個實例?

[英]how to run multiple instances of my python code?

我正在嘗試使用不同的設置/選項多次運行我的 python-telegram-bot 代碼。 做這個的最好方式是什么?

我正在處理的這段代碼是將 django 注入到 python-telegram-bot 以使用它的非凡 ORM。 我正在嘗試使用不同的令牌運行我的機器人代碼的多個實例。 我已經閱讀了關於subprocessthreading ,但仍然對我應該做什么感到困惑? 我甚至寫了seprate python腳本,並與所需的選項/設置作為參數(與運行subprocess.runos.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM