gpt4 book ai didi

ruby-on-rails-3 - FTP **TO** Rails 应用托管在 Heroku 上?

转载 作者:行者123 更新时间:2023-12-04 00:29:02 27 4
gpt4 key购买 nike

请原谅这个古怪的问题,但无论如何让我的 Rails 应用程序接收 FTP 传输?

我每天都有我无法控制的 FTP 上传,它每天将数百个 HTML 页面上传到我们现有的服务器。我想将此站点移动到 Heroku 上的仅 Rails 部署,但我无法触摸此 FTP 上传(仍然需要进行)。

由于 Heroku 不提供公共(public)存储空间或 FTP,我无法将文件直接上传到 Heroku(我也不想这样做)。我希望将 FTP 上传指向我的 Rails 应用程序,让我的 Rails 应用程序接收并解析 HTML 文件以提取我需要的信息,将其存储在数据库中,然后做我需要做的任何其他事情. (有点像 RESTful Action ,但通过 FTP 而不是任何标准的 REST 动词)。

这完全有可能吗,还是我想疯了?如果可能的话,我将如何去做?

最佳答案

您可以使用 cron 安排 rake 任务,该任务将检索 ftp 服务器上的文件并将它们上传到您的数据库中。

以下是您的 cron.rake 文件的外观:

    require 'net/ftp'

task :cron => :environment do
Dir.chdir("tmp") do
Net::FTP.open("ftp.example.com") do |ftp|
ftp.passive = true
ftp.login('login', 'password')
ftp.chdir("your_dir")
ftp.get("your_file")
# ... Load the files in the database here
end
end
end

要记住两件事:
  • 不要忘记ftp.passive = true因为 Heroku 不支持主动模式。
  • 你想做的所有事情都应该包含在 rake 任务中,因为一旦任务结束 Heroku 将删除 tmp 目录。
  • 关于ruby-on-rails-3 - FTP **TO** Rails 应用托管在 Heroku 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5542916/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com