gpt4 book ai didi

ruby-on-rails - 在 Heroku 中创建临时文件

转载 作者:行者123 更新时间:2023-12-03 10:47:57 24 4
gpt4 key购买 nike

我有一个应用程序托管@ Heroku。该应用程序依赖于使用套接字监听器获取的一些提要。套接字监听器每秒获取一行 XML。检测到来自监听器的文件结束信号后,我将文件上传到 Amazon S3 服务器。但是,在收到文件结束信号之前,是否可以将文件内容保存为 Heroku 中的临时文件?

最佳答案

您也许可以使用 the #{RAILS_ROOT}/tmp/ directoryRails.root.join('tmp').to_s :

Aspen & Bamboo
[...]
There are two directories that are writeable: ./tmp and ./log (under your application root).
[...]

Cedar
Cedar offers an ephemeral writeable filesystem. You can write out to disk anywhere you would like. Your changes will be lost on dyno restart and spin-up.


RAILS_ROOT适用于较旧的 Rails 版本, Rails.root适用于较新的版本。

当然,您不能依赖任何跨请求幸存下来的东西,不能保证您甚至会使用相同的 dyno。

只要您保持在同一进程或请求中, Rails.root.join('tmp')应该可以用。如果您需要临时数据在请求或进程中存活,那么您最好使用其他东西(例如 MongoDB 或 PostgreSQL)作为收集数据到 S3 的方式。

感谢 Benjamin Wheeler关于 RAILS_ROOT 的注意事项至 Rails.root改变。

关于ruby-on-rails - 在 Heroku 中创建临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6661395/

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