我有一个Web应用程序,其建立与外部的服务器的许多FTP或SFTP连接。 它的界面使用AJAX技术,并通过AJAX我得到的远程FTP服务器上的文件列表,并返回这些客户端浏览器。
每次我运行一个AJAX调用,我必须重新连接到远程服务器并重新认证。 这需要一吨的额外时间。
有没有一种方法,我可以以某种方式在一些常见的存储池,并重新进入连接资源对象与以后的AJAX店FTP连接资源对象调用? 我试过Memcached的,但看起来这是不可能的存储连接资源在那里。 也许我可以将它们存储在一个线程并以某种方式访问它们呢? 任何其他的想法?
我总是有一个后台程序管理连接,并作为一个代理,而是那种感觉矫枉过正。
你可以为你打开每个工人/应用程序的连接。 例如,对于乘客:
if defined?(PhusionPassenger)
PhusionPassenger.on_event(:starting_worker_process) do |forked|
if forked
# connect to ftp server
end
end
end
使用Rails,这将进入environment.rb
。
这就是说,我不知道这是因为,虽然我不使用FTP多一个伟大的想法。
我最终使使用全局变量(如$ my_global)这项工作。 我有管理存储在一个哈希连接的ConnectionPooler单例类。 易如反掌。
文章来源: A way to access common FTP connection resource pool in Ruby across AJAX calls?