python - 请教一下大家,在django或者其他的项目中做定时任务?
PHPz
PHPz 2017-04-18 09:23:53
0
8
401
有时候,需要在项目中做一些定时的任务,例如:我需要每隔几分钟去访问一个接口,然后根据返回值,做后续操作。

请教下,如何来实现?(PS:如果是用系统的crontab就不要说了。)

目前google了一种方法是使用celery。请加下大家,是否是条长期可行之路。
PHPz
PHPz

学习是最好的投资!

répondre à tous(8)
洪涛

Si vous utilisez le propre serveur de Django pour exécuter votre site Web, vous pouvez utiliser Django-celery. Mais s'il s'agit d'un site Web fonctionnant avec uWSGI, il est préférable d'utiliser le signal d'uWSGI pour les tâches planifiées. D'autres tâches planifiées sont susceptibles d'être supprimées par uWSGI car elles occupent le fil de discussion depuis longtemps. J'ai déjà travaillé sur un site Web. pour explorer les données régulièrement. Après avoir essayé plusieurs solutions, j'ai finalement utilisé le signal d'uWSGI, qui est plus stable.

PHPzhong

django-céleri peut répondre à vos exigences

阿神

Vous pouvez également utiliser du céleri indépendant et simplement utiliser le rythme du céleri pour les tâches planifiées.

黄舟

Vous pouvez utiliser crontab directement. Si vous souhaitez mieux gérer le processus planifié (comme en utilisant l'outil superviseur), vous pouvez utiliser les tâches planifiées de céleri.
Voici une question : Flask configure les tâches planifiées de céleri

Ty80

Quelqu'un a créé un module Django : django_crontab

小葫芦

Pour les tâches planifiées, j'utilise généralement huey. J'ai déjà utilisé crontab, mais l'environnement virtuel sur le serveur ne peut pas être activé à l'aide du script. Je travaille dessus depuis longtemps et je ne l'ai pas résolu. trouvé huey, qui est en fait similaire à Django. Une application est installée dans le projet, qui peut réaliser le multi-threading, la périodicité et d'autres fonctions.

阿神

Pourquoi ne pas utiliser crontab ? crontab est le plus stable.

左手右手慢动作

Vous pouvez utiliser Scheduler, car le contenu est un peu plus long, si vous avez besoin d'exemples, vous pouvez me contacter.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal