我希望你們都度過了美好的一天。所以我正在使用 Python 進行一個項目。該腳本的工作是通過 http 請求在社交媒體平臺上自動執行操作和任務。截至目前,此腳本的一個實例訪問一個用戶帳戶?,F在,我想創建一個網站,我可以讓用戶在其中注冊、將他們的憑據輸入到社交媒體平臺并運行此腳本的實例來執行自動化任務。每次有新用戶注冊時,我都想過為這個腳本創建一個新進程,但這似乎效率不高。另外雖然關于使用線程,但似乎也不太合理。特別是如果有 10,000 名用戶注冊。做這個的最好方式是什么?我該如何擴展?非常感謝你們。
1 回答

慕妹3242003
TA貢獻1824條經驗 獲得超6個贊
您正在運行的任務的性質是什么?
任務是在一天中的預定時間運行,還是每 X 分鐘運行一次?為此,您可以讓您的 Web 應用程序注冊 cronjobs 或類似的,并且每個 cronjob 可以產生您的腳本的一個實例,我認為它是短期運行的,以一次一個用戶執行自動化任務。如果腳本的確切時間無關緊要,那么您可以在一天中分散運行這些腳本,如果需要,可以在單獨的機器上運行。
上述方法可能無法很好地擴展到 10,000 個用戶,并且您將需要更強大的東西,特別是如果腳本需要連續運行(例如,您正在從 Facebook 輪詢一些數據并需要對其更改做出反應)。如果每個用戶需要進行大量通信,那么您可以考慮使用生產者-消費者模型,其中一組生產者腳本(連續運行)將工作請求發送到一個全局隊列中,由一組消費者腳本輪詢并執行。您還可以在多臺機器上對此類消費者和生產者進行負載平衡。
當然,您肯定希望通過在多個線程或進程上執行這項工作來從機器的額外內核中擠出一些并行性。您可以使用多處理模塊在 Python 中輕松完成此操作。
添加回答
舉報
0/150
提交
取消