gpt4 book ai didi

ruby-on-rails-3 - 在 Rails 中设置系统调用超时

转载 作者:行者123 更新时间:2023-12-01 02:26:03 26 4
gpt4 key购买 nike

从 Rails,我向 wget 发出系统调用:

system("wget", ...)

我想为这个调用设置一个超时时间,这样如果它花费的时间太长(这可能意味着下载了太多文件,或者下载了一个大文件),我想停止它并向用户返回一个错误,以便我的服务器没有重载。我怎样才能做到这一点?

最佳答案

您是否特别需要在这样的子 shell 中运行调用?如果没有,请使用超时和反引号:

require 'timeout'

Timeout.timeout(3) do
puts `tree /` # raises an exception, which you can rescue and handle
end

但是,如果您确实需要在外部运行它,我会选择类似 Subexec 的东西。

关于ruby-on-rails-3 - 在 Rails 中设置系统调用超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16386149/

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