我需要一种方法在Rails3应用程序中向不同的服务器实现延迟的FTP上传。这将是情景:
上传的文件夹大小将从 600Mb到1Gb 。它们将包含PNG图像,小mp4电影和xml文件。
Web服务器和所有ftp服务器将位于同一网络,同一子网中。现在不需要额外的安全性。 我对异步或延迟工作完全不熟悉。该应用程序将只有一个或两个用户:无需同时处理大量部署请求。
我该如何完成这项任务?如果您需要更多信息,请在评论中提问。
答案 0 :(得分:1)
设置了delayed_job后,您可以设置一种方法,以便在您开展业务时在后台执行。在这种情况下,部署方法将始终在handle_asynchronously
的背景设置中。
class UploadStatus < ActiveRecord::Base
def deploy
# write your ftp loop here
# periodically update this model in the db with the status
end
handle_asynchronously :deploy
end
现在,您可以致电@upload_status.deploy()
,它将在后台运行。
您也可以编写一个作业方法,但我认为它在ActiveRecord类中更有意义,因为您将更新部署状态。