count = 0
while True:
try:
if count == 5:
break
snap = ec.create_snapshot(
VolumeId=vol_id,
Description=instance['InstanceId']
)
break
except Exception as e:
print(e)
sleep(180)
count = count + 1
所以如果我有很多实例和错误的话那可能是运行拉姆达的很长一段时间。还有什么可以替代Lambda睡觉?
除了下面的答案,对卷进行快照可能需要相当长的时间。你表示你有很多实例。你能否描述更多你想要做的事情? Lambda可能不是最好的解决方案。 – stdunbar
为什么你不得不睡觉的线程?只需在连续5次使用cloudwatch触发器180秒后再次运行lambda,并且如果您希望重新使用任何数据,请将其保存在dynamodb或redis缓存中。这将节省您的时间和金钱。 –
@stdunbar PS我会创建新的问题。我开始明白这一点。 –