Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails cloudfoundry worker必须与服务器具有相同的应用程序实例_Ruby On Rails_File Upload_Resque_Cloud Foundry - Fatal编程技术网

Ruby on rails cloudfoundry worker必须与服务器具有相同的应用程序实例

Ruby on rails cloudfoundry worker必须与服务器具有相同的应用程序实例,ruby-on-rails,file-upload,resque,cloud-foundry,Ruby On Rails,File Upload,Resque,Cloud Foundry,在cloudfoundry中,resque worker和resque server应用程序是否可能是同一个应用程序实例。我的服务器应用程序保存一个文件,worker实例是一个独立的ruby类,它必须从服务器实例读取文件 两者都是ruby rails应用程序。我曾尝试将其保存在postgres bytea中,但activerecord由于内存错误而无法保存。它可能是我那台微薄的开发机器 我被告知要使用Mongodb,但我的应用程序需要postgres…box.net不是免费的。理想情况下,我需要

在cloudfoundry中,resque worker和resque server应用程序是否可能是同一个应用程序实例。我的服务器应用程序保存一个文件,worker实例是一个独立的ruby类,它必须从服务器实例读取文件

两者都是ruby rails应用程序。我曾尝试将其保存在postgres bytea中,但activerecord由于内存错误而无法保存。它可能是我那台微薄的开发机器


我被告知要使用Mongodb,但我的应用程序需要postgres…box.net不是免费的。理想情况下,我需要一种免费共享文件的方式,或者两个让它们在同一个应用程序实例上运行,或者三个让worker ruby standalone类读取从rails服务器上传存储的文件的其他低内存方式,我建议使用Amazon S3来存储文件,它很便宜,我想你在第一年就可以免费得到它!请看一下用于集成到Rails项目中的回形针宝石。

我考虑过回形针。然而,特别是回形针盒1。回形针似乎专注于图像,我正在保存XML文件。2.我还没有看到Cloudfoundry services上使用过回形针Dropbox。对于一个爱好项目来说,几乎免费还是太贵了。最后,我不知道clooudfoundry是否会让我从dropbox中阅读。回形针对阅读没有帮助。我只需要在我的ruby resque服务器应用程序和ruby resque worker应用程序之间建立一个临时存储区,如阅读以下内容将有所帮助。没有确认它是否在cloudfoundry上工作,尽管回形针不必用于存储图像,而且它肯定在cloudfoundry.OK上工作。我没有用回形针。我发现使用Dropbox SDK从Dropbox session=DropboxSession.new(DROPCONFIG['app_key'],DROPCONFIG['app_secret'])session.set_access_token(DROPCONFIG['access_token'],DROPCONFIG['access_token_secret'])下拉文件更容易;client=DropboxClient.new(session,'dropbox')将“after dropbox”#放在前面/将“fileopen”放在外面,metadata=client.get_file_and_metadata(fname)file.open(fpath,'w+'){| f | f.puts out}你可以让你的应用程序在CloudFoundry中使用多种服务。因此,无论出于何种原因,您都可以使用PostgreSQL和Mongo来保存文件。或者,您可以按照Dan的建议使用外部服务(如S3)