requête serveur périodique dans Django

Je souhaite créer une application Web dans Django qui vérifie quotidiennement les données du marché à 9 heures et les interprète pour les utilisateurs.

Maintenant, comment cela devrait-il être fait de la manière la plus élégante? Dois-je créer une application distincte pour cela, qui utilise une firebase database partagée avec l’application principale? Ou peut-être l’intégrer en quelque sorte dans l’application principale?

Ce n’est pas une très bonne question sur ce site car il est trop ouvert pour pouvoir répondre correctement.

Cependant, je vais essayer de vous donner quelques indications pour vous permettre de faire plus de recherches sur le sujet. Il existe deux manières de mettre en œuvre votre exigence (en réalité, il y en a beaucoup plus, mais je pense que ces deux méthodes sont les meilleures pour implémenter la planification des tâches dans une application Django):

  1. Créez une commande admin (gestion) personnalisée: https://docs.djangoproject.com/en/1.8/howto/custom-management-commands/ et appelez-la chaque jour via crontab (ou une tâche planifiée si vous utilisez Windows).

  2. Utilisez une queue de tâches asynchrone (quelque chose comme céleri ou django-rq) et son planificateur de tâches (soit celery beat ou rq-scheduler) pour planifier vos tâches.

Pour les cas simples, l’utilisation de commandes admin personnalisées est la meilleure solution – l’utilisation d’une queue de tâches asynchrone est complexe et ajoute des composants plus mobiles à votre projet (lisez ma publication @ http://spapas.github.io/2015/01/27/async -tasks-with-django-rq / pour une introduction facile à django-rq) – cependant, l’intégration avec une queue asynchrone vous offre beaucoup plus de possibilités et de liberté.