Actuellement, j'ai une application qui télécharge des images sur S3 dans une tâche d'arrière-plan (Sidekiq). Cela fonctionne bien, mais j'ai dû "bidouiller" une solution et j'étais curieux de savoir si quelqu'un connaissait une meilleure façon de le faire.
Problème : Lorsque l'on utilise Paperclip et un travail en arrière-plan sur Heroku, le travailleur n'est souvent pas en mesure d'accéder au fichier tmp parce qu'il est lancé sur un autre serveur. J'ai essayé de faire en sorte que Paperclip utilise le dossier tmp sur Heroku, et il l'y stocke, mais les tâches d'arrière-plan ont toujours renvoyé un "File not found".
Solution temporelle : Il faut alors encoder l'image en une chaîne base64 et la passer dans la tâche perform (dégoûtant, mauvais, horrible, surcoût important).
Existe-t-il une meilleure façon de procéder sur Heroku ? Je ne veux pas enregistrer un blob d'images dans la base de données, car c'est une pratique tout aussi mauvaise.