Django中使用django-apscheduler执行定时任务
发布时间:2020-12-15 17:13:56 所属栏目:大数据 来源:网络整理
导读:关于apscheduler使用,请参考文章 :python 定时任务APScheduler 使用介绍 安装模块 pip?install?django-apscheduler 使用 1.?在django项目修改settings.py文件,在INSTALLED_APPS中加入django-apscheduler应用: INSTALLED_APPS?=?[????......????'django_a
关于apscheduler使用,请参考文章 :python 定时任务APScheduler 使用介绍 安装模块 pip?install?django-apscheduler 使用 1.?在django项目修改settings.py文件,在INSTALLED_APPS中加入django-apscheduler应用: INSTALLED_APPS?=?[ ????...... ????'django_apscheduler',#定时执行任务 ] APSCHEDULER_DATETIME_FORMAT?=??"N?j,?Y,?f:s?a"??#?Default 2.?执行迁移命令(创建两张表:django_apscheduler_djangojob和django_apscheduler_djangojobexecution): python?manage.py?makemigrations python?manage.py?migrate 3.?在任意一个view.py加入引用写好的scheduler。 如下图所示:新建task.py from?apscheduler.schedulers.background?import?BackgroundScheduler from?django_apscheduler.jobstores?import?DjangoJobStore,?register_events,?register_job #开启定时工作 try: ????#?实例化调度器 ????scheduler?=?BackgroundScheduler() ????#?调度器使用DjangoJobStore() ????scheduler.add_jobstore(DjangoJobStore(),?"default") ????#?设置定时任务,选择方式为interval,时间间隔为10s ????#?另一种方式为周一到周五固定时间执行任务,对应代码为: ????#?@register_job(scheduler,?'cron',?day_of_week='mon-fri',?hour='8',?minute='30',?second='10',id='task_time') ????@register_job(scheduler,"interval",?seconds=10) ????def?my_job(): ????????#?这里写你要执行的任务 ????????pass ????register_events(scheduler) ????scheduler.start() except?Exception?as?e: ????print(e) ????#?有错误就停止定时器 ????scheduler.shutdown() 然后在任意一个views.py中引入scheduler,使得每次启动Django框架时,定时任务都会同时启动。 from?task?import?scheduler 官方文档:https://github.com/jarekwg/django-apscheduler (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |