2017-09-28 2 views
0

J'ai écrit un petit site django qui lit les données de la base de données et affiche ces données dans un tableau. (La base de données sera remplie en faisant la demande à une API externe.)Exécution d'une tâche toutes les 5 minutes Django

Maintenant, mon problème est que je dois faire la demande toutes les 5 minutes à API et obtenir les 5 dernières minutes de données et les stocker dans la base de données et en même temps mettre à jour ma table pour montrer les 5 dernières minutes données.

J'ai lu à propos du planificateur de travaux mais je n'ai pas compris comment je pourrais l'exécuter. Tout d'abord, un planificateur tel que le céleri est une bonne solution pour ce problème? et serait utile pour moi si vous pouvez me guider comment serait l'approche pour résoudre ce problème?

+0

Bienvenue sur SO: vous pouvez lire [demander] et [mcve]. En ce qui concerne votre question, vous pouvez lire https://stackoverflow.com/questions/373335/how-do-i-get-a-cron-like-scheduler-in-python. – boardrider

Répondre

0

Une solution simple que j'ai utilisée dans le passé est d'écrire une commande personnalisée django et ensuite avoir un cronjob exécuter cette commande à l'intervalle que vous souhaitez.

commandes Django: https://docs.djangoproject.com/en/1.11/howto/custom-management-commands/

+0

Merci. Donc, le travail de commande devrait fonctionner sur mon view.py et tout comme récupérer des données et les stocker dans la base de données et mettre à jour la table devrait être une commande! Est-ce exact? – user2091416

+0

J'écrirais le code qui est à votre avis comme la commande personnalisée, ou la logique que vous voulez faire toutes les 5 minutes. Et puis le cronjob appelait 'python manage.py command_name' toutes les 5 minutes. – Milkboat