我有一個關於託管大型動態生成資產和Heroku的問題。Heroku:在沒有本地文件系統的情況下服務大型動態生成的資產
我的應用程序將提供其基礎數據的子集的批量下載,其中包含每24小時生成一次的大文件(> 100 MB)。如果我在服務器上運行,我只需將該文件寫入公共目錄。
但據我所知,這是不可能與Heroku。可以寫入/ tmp目錄,但在一個請求 - 響應週期方面,文件的有效期限爲seems to be defined,而不是後臺作業。
我想用S3來託管下載文件。 S3 gem確實支持流式上傳,但只適用於本地文件系統中已存在的文件。看起來內容大小需要預先知道,這在我的情況下是不可能的。
所以這看起來像一個catch-22。我試圖避免在上傳到S3時在內存中創建一個巨大的字符串,但S3僅支持本地文件系統上已存在的文件的流式上載。
鑑於Rails應用程序中我無法寫入本地文件系統,如何提供每天生成的大文件而不在內存中創建大字符串?
我正面臨同樣的問題。我還沒有解決它,但我假設我可以寫入我的delayed_job工作器上的/ tmp文件系統,並且它會堅持足夠長的時間將文件上傳到S3。有興趣聽到人們的建議! – 2009-10-26 17:33:09