GOOGLE ADS

lundi 2 mai 2022

Comment gérer les fonctions python chronophages dans Heroku ?

J'ai déployé avec succès une application Django sur Heroku à l'aide de Postgres. Le seul problème est que certaines des fonctions python que j'ai écrites peuvent prendre jusqu'à plusieurs minutes pour s'exécuter (les données grattant de nombreuses pages avec du sélénium et générant 50 modèles d'apprentissage en profondeur différents avec keras). Si cela prend plus de 30 secondes, l'application plante. Je prévois finalement d'utiliser cette application Heroku comme une API que je connecterai à une interface en utilisant React sur netlify. Existe-t-il un moyen d'exécuter automatiquement ces fonctions dans les coulisses d'une manière ou d'une autre ? Sinon, comment puis-je déployer un site Web qui exécute des fonctions python chronophages dans le backend et utilise React pour le frontend ?


Solution du problème

D'accord, je pense que nous pouvons diviser les problèmes en DEUX parties :\

1- Le niveau gratuit Heroku (en supposant qu'il l'est) "tue" le serveur après 30 minutes d'absence ( source ), il est donc très difficile d'héberger un backend dans heroku. Et en plus de cela, puisque vous formez BEAUCOUP de modèles d'apprentissage en profondeur, vous pourriez manquer de mémoire et des choses comme ça.

2- Vous voudrez peut-être repenser votre architecture. Qu'en est-il de la création d'un serveur qui forme de temps en temps ces modèles d'apprentissage automatique et l'autre qui consomme et fait des inférences sur ces modèles ? Vous pouvez également séparer la partie mise au rebut du serveur réel et simplement extraire les données de db.

Puisque vous n'avez pas ajouté de contraintes à votre problème, je le vois de cette façon.

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...