我有简单的连接对象
require 'net/sftp'
@con = Net::SFTP.start(@@host, @@username, :password => @@password
...
@con.upload!(filepath, destination)
我在一个脚本中有这个,它监听被放入文件夹的文件。文件被收集,并上传到远程 sfpt 服务器。一切正常,但似乎在脚本运行足够长的时间后,它会中断并抛出此错误:
exception while processing events: Write to the server failed
我只能假设发生这种情况是因为空闲连接在一定时间后断开。是否可以无限期地保持连接打开?或者这是一个限制?
如果那不可能,我可以管理错误吗?就像是:
begin
@con.upload!(filepath, destination)
rescue Net::SFTPStatusException => e
if e.code == 7 //connection lost code
@con.{reconnect}//Whatever this would look like
end
else
raise
end
end
不确定 7 是否是正确的错误代码,或者我如何重新连接连接对象。