Carrierwave / Paperclip和Resque - 跨多台计算机共享

时间:2012-05-22 12:36:57

标签: ruby-on-rails paperclip carrierwave distributed-computing resque

我正在开发一个rails应用程序,它需要将文件上传到我的服务器,然后让resque worker(在其他几台计算机上运行)使用这些文件来完成一些任务。我让我的工作人员都准备完成任务,但我似乎无法找到一种很好的方法将文件从我的主机送到我的工作计算机。我已经尝试了Carrierwave(并查看Paperclip的文档),但我看到的只是使用S3,我无法使用。我唯一的想法是存储一个字符串,其中包含可以找到文件的URI,以便工作人员可以下载它们并开始工作。我并不特别喜欢这个主意。有没有人对什么可能是最好的方法有任何建议?谢谢!


更新

我还应该注意,需要共享的文件大约是200MB

1 个答案:

答案 0 :(得分:2)

您是否考虑过类似Network File System的内容,而不是在应用程序中执行此操作?

根据您的工作人员和服务器的平台,您应该有多种共享文件系统的选项(我假设您之间有LAN运行)。

即使没有真正的局域网,sshfs也能正常工作......

优点显而易见:您的Ruby应用程序只需使用FileUtils处理常规文件系统,并且通过更可靠的基础架构处理大量推送内容