跨AJAX调用访问常用的FTP连接资源池在Ruby中的一种方式?(A way to access c

2019-11-04 09:16发布

我有一个Web应用程序,其建立与外部的服务器的许多FTP或SFTP连接。 它的界面使用AJAX技术,并通过AJAX我得到的远程FTP服务器上的文件列表,并返回这些客户端浏览器。

每次我运行一个AJAX调用,我必须重新连接到远程服务器并重新认证。 这需要一吨的额外时间。

有没有一种方法,我可以以某种方式在一些常见的存储池,并重新进入连接资源对象与以后的AJAX店FTP连接资源对象调用? 我试过Memcached的,但看起来这是不可能的存储连接资源在那里。 也许我可以将它们存储在一个线程并以某种方式访问​​它们呢? 任何其他的想法?

我总是有一个后台程序管理连接,并作为一个代理,而是那种感觉矫枉过正。

Answer 1:

你可以为你打开每个工人/应用程序的连接。 例如,对于乘客:

if defined?(PhusionPassenger)
  PhusionPassenger.on_event(:starting_worker_process) do |forked|
    if forked
      # connect to ftp server
    end
  end
end

使用Rails,这将进入environment.rb

这就是说,我不知道这是因为,虽然我不使用FTP多一个伟大的想法。



Answer 2:

我最终使使用全局变量(如$ my_global)这项工作。 我有管理存储在一个哈希连接的ConnectionPooler单例类。 易如反掌。



文章来源: A way to access common FTP connection resource pool in Ruby across AJAX calls?