繁体   English   中英

Cloudfoundry [Cloudfoundry] File.open ruby​​ rails resque类

[英]Cloudfoundry [Cloudfoundry] File.open ruby rails resque class

我正在使用cloudfoundry。 我上传文件并保存文件..我的例程返回路径和文件名

/var/vcap/data/dea/apps/Dwarfquery-0-99065f0be8880d91916257931ed91162/app/tmp/region1-legends10-11-2012-20:53.xml

但是,尝试使用File.Open读取的计划的resque例程返回以下错误

Errno :: ENOENT错误没有这样的文件或目录-/var/vcap/data/dea/apps/Dwarfquery-0-99065f0be8880d91916257931ed91162/app/tmp/region1-legends10-11-2012-20:53.xml

这是Upload Server返回的路径...我在作业类的顶部添加了require'open-uri'

失败的行是

File.open(fpath,'r +')做| f |

其中fpath返回错误的文件/目录

我一点都不精通红宝石,只是为了澄清一下:

  • 上传的位和Resque例程是同一“应用程序”的一部分吗(在Cloud Foundry的意义上?)
  • 您是要在文件上传后不久还是在很长时间之后(尤其是在您的应用已经/可以重新启动之后)读取文件?

这很重要,因为:

  1. 每个“应用程序”都有其自己的临时文件夹,显然一个应用程序无法访问另一应用程序的文件系统。 如果您使用多个“实例”部署您的应用程序,这也适用。 每个实例都是一个独立的进程,具有自己的文件系统。
  2. 本地文件系统存储是临时的,每次重新启动应用程序时都会清除干净

如果您需要在应用程序之间访问二进制数据,则需要使用某种存储方式(例如Mongo的GridFS),以使其持久化并在两个应用程序中均可见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM