我開始將我的代碼遷移到boto 3,並且我注意到一個很好的補充是服務員。如何使用boto3服務器從大RDS實例中獲取快照
我想創建一個數據庫實例的快照,我想檢查它的可用性之前,我恢復與我的代碼。
我的做法是這樣的:
# Notice: Step : Check snapshot availability [1st account - Oregon]
print "--- Check snapshot availability [1st account - Oregon] ---"
new_snap = client1.describe_db_snapshots(DBSnapshotIdentifier=new_snapshot_name)['DBSnapshots'][0]
# print pprint.pprint(new_snap) #debug
waiter = client1.get_waiter('db_snapshot_completed')
print "Manual snapshot is -pending-"
sleep(60)
waiter.wait(
DBSnapshotIdentifier = new_snapshot_name,
IncludeShared = True,
IncludePublic = False
)
print "OK. Manual snapshot is -available-"
,但文件說,它查詢狀態每15秒40次。那是10分鐘。然而,一個相當大的數據庫將需要更多。
我該如何使用服務員來減輕這一點?
在我使用Boto3之前,我已經準備好了,但是在Boto3中新增加了一些內容,我想用更優雅和直接開箱的東西代替這些while循環。但是,正如我所看到的,只要服務員不能參數化,對於需要10分鐘以上的操作,它們幾乎是無用的......:\ –
我明白了你的觀點,我看不到一種方法來覆蓋計時器雖然。可能值得看看boto3的github回購,看看他們做了什麼。 – Danny
可能有辦法使用自定義服務員,我還沒有找到它。 – Danny