gpt4 book ai didi

ruby-on-rails - 如何使用 Fog 验证 AWS 服务器终止?

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:32 25 4
gpt4 key购买 nike

我在“开始” block 中为 Rails 应用程序编写了 3 行代码,旨在使用 Fog 终止 AWS 计算实例并在成功时设置一个字符串值:

  @server = @connection.servers.get(params[:id])
@server.destroy
@server_deletion_result = "success"

此代码有效,但它只是向 AWS 发送一条终止实例的命令。使用 Fog,我如何验证实例是否已完成终止

我试过了,没用:

  while @server.state != "terminated" do
sleep 3
end
@server_deletion_result = "success"

它似乎只是挂起,甚至在实例在 AWS 控制台中显示“已终止”之后也是如此。

那么,想法是什么?

最佳答案

我的一个 friend 通过 Twitter 帮我回答了这个问题。答案是调用服务器对象上的 reload() 函数,然后检查它。 Fog 缓存服务器对象,必须对其进行更新以检查状态。

这是我的最终解决方案:

  @server.reload
while @server.state != "terminated" do
sleep 3
@server.reload
end

编辑:感谢 Frederick Cheung,他在评论中给出了更好的答案:

@server.wait_for {state == 'terminated'} 

关于ruby-on-rails - 如何使用 Fog 验证 AWS 服务器终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14777178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com