我正在构建一个通过CarrierWave处理文件上传的Rails应用程序。目前,较大的文件上传会阻塞服务器很长一段时间。我看到了像s3-swf-upload-plugin gem这样的解决方案,它跳过本地服务器并直接从浏览器发送文件到S3,但这需要进行一些修改以预先生成唯一的文件名并将它们与数据库同步。我相信这不会太麻烦,但Heroku的新Cedar堆栈让我想到将这些长时间运行的请求卸载到在同一应用程序中运行的node.js实例。我对这些事情并不是很有经验,所以如果有点不合适,请原谅我的措词。在Heroku上的同一个应用程序中的Rails和Node?
会是这样的事情吗?你将如何配置某些请求(在这种情况下涉及文件上载的请求)将由与主轨应用程序捆绑在同一个heroku存储库中的节点应用程序处理?
您是否考虑过为独立的heroku应用程序上传? – Elad 2011-06-11 07:00:21
即使他们在不同的实例上,我认为这个问题仍然适用于如何将它们集成在一起。另外,我不确定两个独立的heroku应用程序之间如何共享数据库。 – Luke 2011-06-12 18:28:20
您可以从ENV ['DATABASE_URL']获取数据库连接字符串,并且您应该可以在第二个应用程序中使用它。实际上,使用专用数据库,您甚至可以从heroku以外的应用程序访问它:http://devcenter.heroku.com/articles/external-database-access – Elad 2011-06-12 18:44:12