Dinamik olarak üretilen büyük varlıklar ve Heroku ile ilgili bir sorum var.Heroku: Yerel Bir Dosya Sistemi Olmadan Büyük Dinamik Olarak Üretilmiş Öğeler Sunma
Uygulamam, her 24 saatte bir oluşturulan büyük bir dosyadan (> 100 MB) oluşan altta yatan verilerin bir alt kümesini toplu olarak indirecek. Bir sunucuda çalışıyor olsaydım, dosyayı genel dizine yazardım.
Ama anladığım kadarıyla, bu Heroku ile mümkün değil./Tmp dizini, bir arka plan işi için değil, bir istek-yanıt döngüsü açısından seems to be defined dosyalarının garantili ömürleri için yazılabilir.
İndirme dosyasını barındırmak için S3'ü kullanmak istiyorum. S3 gem, aktarım yüklemelerini destekliyor, ancak yalnızca yerel dosya sisteminde zaten var olan dosyalar için. İçerik boyutunun bilinmesi gerektiği gibi görünüyor, bu da benim durumumda mümkün olmayacak.
Yani bu bir catch-22'ye benziyor. S3'e yüklerken bellekte devasa bir dize oluşturmamaya çalışıyorum, ancak S3 sadece yerel dosya sisteminde zaten var olan dosyalar için akış yüklemelerini destekliyor.
Yerel dosya sistemine yazamadığım bir Rails uygulaması verildiğinde, bellekte büyük bir dize oluşturmadan günlük olarak oluşturulan büyük bir dosyaya nasıl hizmet edebilirim?
Aynı sorunla karşı karşıyayım. Henüz ele almadım ama gecikmiş işçimdeki/tmp dosya sistemine yazabileceğimi ve dosyanın S3'e yüklenmesini sağlayacak kadar uzun süre çalışacağını varsayıyordum. İnsanların önerdiği şeyleri duymak ister! –