J'ai une question sur l'hébergement de grands actifs générés dynamiquement et Heroku.Heroku: Servir de grands actifs générés dynamiquement sans système de fichiers local
Mon application offrira le téléchargement groupé d'un sous-ensemble de ses données sous-jacentes, qui consistera en un gros fichier (> 100 Mo) généré une fois toutes les 24 heures. Si je fonctionnais sur un serveur, j'écrirais simplement le fichier dans le répertoire public. Mais si je comprends bien, ce n'est pas possible avec Heroku. Le répertoire/tmp peut être écrit, mais la durée de vie garantie des fichiers est seems to be defined en termes de cycle de requête-réponse, pas de travail en arrière-plan.
Je voudrais utiliser S3 pour héberger le fichier de téléchargement. Le S3 gem prend en charge les transferts en continu, mais uniquement pour les fichiers qui existent déjà sur le système de fichiers local. Il semble que la taille du contenu doive être connue à l'avance, ce qui ne sera pas possible dans mon cas.
Donc, cela ressemble à un catch-22. J'essaie d'éviter de créer une chaîne gigantesque en mémoire lors du téléchargement vers S3, mais S3 ne prend en charge que les téléchargements en continu pour les fichiers qui existent déjà sur le système de fichiers local.
Étant donné une application Rails dans laquelle je ne peux pas écrire sur le système de fichiers local, comment puis-je servir un fichier volumineux généré quotidiennement sans créer de grande chaîne en mémoire?
Je suis confronté au même problème. Je ne l'ai pas encore abordé mais je supposais que je pourrais écrire dans le système de fichiers/tmp sur mon worker delayed_job et qu'il resterait assez longtemps pour télécharger le fichier sur S3. Intéressé d'entendre ce que les gens suggèrent! –