1
我試圖創建一個使用Python的EC2實例的AMI。我需要實現多線程,以便AMI創建可以並行運行。但下面的代碼不起作用。它一次創建單個AMI。多線程在python
模塊1
from Libpy import Libpy
import boto.ec2
import sys
if __name__=='__main__':
a = B()
Libpy().multithreading(ec2list1,a.create_amibkp(ec2listname,ec2list1))
模塊2
import threading
import time
class Libpy:
def multithreading(l, function):
threads = []
for z,v in enumerate(l):
dummy = z
t = threading.Thread(target=function, args=(v,))
threads.append(t)
t.start()
- ec2listname - 包含對他們來說,AMI 創作應該做
- ec2list1實例名稱的列表 - 包含實例ID的列表誰應該完成AMI創作
- create_amibkp - 爲過濾的實例提供AMI的自定義函數從module1開始,我調用module2來多線程函數,但它不工作。它正在創建一個AMI。 4.B() - 類將返回ec2listname和ec2list1
在我的答案我已經展示瞭如何產生多個線程並行(無觸發延遲),只有當所有線程都完成了他們的業務,主線程將繼續執行,這是因爲在線程中爲t:t.join()'。我建議閱讀關於[線程對象](https://docs.python.org/2/library/threading.html#thread-objects),這將比任何簡短的評論更好地澄清這裏 – BPL
嗨,我是得到下面的錯誤嘗試執行的AMI當備份 BotoServerError:BotoServerError:<?XML版本= 「1.0」 編碼= 「UTF-8」> 503服務不可用請求超過上限。 30694d63-d23e-4f28-a892-ab9d958ca0fa 請幫助 –
Dave
RequestLimitExceeded