Plantage sur smartphone
Changement d'architecture : Le client POST avec son image et un JobId qu'il crée. Il n'attend pas spécialement de OK à son POST. La requette http reste donc ouverte et permet au backend serverless de rester UP. Quand le backend a fini il charge la vidéo sur S3 dans un dossier créé avec le bon jobId. Le client juste apres son POST ne fait que POLL avon son jobId le backend qui lui va vérifier si le dossier du jobID a son meta.json qui indique que la vidéo est prete.
Autre solution, la vraie mais presque pro/complexe : On stocke vraiment les images et on les purge tres réguliermeent. l'API stoque l'image, lance le Serverless Job (puzzle), puis le frontend interroge le backend toutes les 5 secondes (Polling) pour savoir si le Job a fini...
Purge implementation
Purge implementation
Aie ! Houston we have a problem. On est en serverless. Si on laisse l'utilisateur couper les connexions, scaleway considere qu'il faut eteindre les applis... Donc tu peux pas revenir dessus, refaire une connexion et demander 't'en es où ?" Donc on peut que faire la modif : Ne passe pas en veille. En vrai il y a des solutions : 1 - Sortir du serverless : On prend un serveur qui tourne h24 2 - Rester en serverless mais le forcer à rester sur 1 serveur en continue : Il tourne h24 comme le serveur classique...
Quand le téléphone passe en veille ou change d'application en premier plan, il coupe les connexions pour economiser de la batterie. 2 solutions cumulables : 1- Quelques lignes de code pour dire au telephone 'tu passes pas en veille entre le clique bouton et la generation de la vidéo. Le hic : ca ne résout pas le probleme de l'utilisateur qui change d'appli de lui meme. 2- On donne un Id à la tache de création de vidéo. Quand on quitte et qu'on revient, le frontend/telephone qui a coupé les connexions...
Compilation fail