使用Ruby的Net :: FTP类上传文件是同步操作吗?

时间:2014-01-23 09:16:35

标签: ruby ftp

我使用Ruby的Net :: FTP类将文件上传到远程服务器。

Net::FTP.open(SERVER, USER, PASS) do |ftp|
  do_foo
  ftp.puttextfile(bigfile.txt, bigfile.txt)
  do_bar
end

Ruby会在执行puttextfile方法之前等待do_bar完成上传文件吗?

如果没有,我怎么能这样呢?

2 个答案:

答案 0 :(得分:2)

是的,FTP上传是作为同步操作实现的,这意味着只有在上传完成(或失败)后才会执行下一个语句

但是,ftp.puttextfile允许传递一个回调,该回调将在每个传输的线路上执行。 Docs

答案 1 :(得分:1)

是的,这是一个同步操作。

但是,如果您希望并行Net::FTP.open,则可以使用{{1}}执行{{1}}。