苏州做网站费用明细,个人网站命名技巧,企业所得税计算公式2022,wordpress 主题demo【实验内容】
本实验主要介绍在Django框架中使用APScheduler第三方库实现对数据的定时采集。
【实验目的】
1、掌握APScheduler库的使用#xff1b; 2、学习在Django中实现多个定时任务调度#xff1b;
【实验步骤】
步骤1 Apscheduler简介与特点 步骤2 Apscheduler基本…【实验内容】
本实验主要介绍在Django框架中使用APScheduler第三方库实现对数据的定时采集。
【实验目的】
1、掌握APScheduler库的使用 2、学习在Django中实现多个定时任务调度
【实验步骤】
步骤1 Apscheduler简介与特点 步骤2 Apscheduler基本概念 步骤3 在Django中实现多个定时任务调度
步骤1Apscheduler简介与特点 (1) 简介 APSchedulerAdvanced Python Scheduler是一个用于 Python 的灵活的定时任务调度库。它允许您在应用程序中安排执行函数或方法以便在指定的时间间隔、日期、天或其他规则触发它们。
(2) 特点
多种触发器APScheduler支持多种触发器包括日期时间触发、定时间隔触发、固定日期触发、定时器触发和 Cron 触发等。这使得您可以为不同的任务定义不同的触发规则。可扩展性它允许您创建多个定时任务定义自己的触发器和任务并将其集成到您的应用程序中。并发控制APScheduler可以管理并发执行的任务确保任务不会重叠执行。持久化存储您可以将任务存储在持久化存储中以便在应用程序重启时保持任务状态。灵活性APScheduler提供了多种方式来调度任务如在单线程应用程序中通过线程池或进程池以及在分布式系统中。轻量级APScheduler是一个轻量级库易于集成到各种类型的 Python 应用程序中。支持异步它还支持在异步应用程序中使用例如基于asyncio的Python应用。
步骤二Apscheduler基本概念 (1) 调度器(scheduler) // 使用示例 -*********************************************************************** (2) 作业存储(job store) //
(3) 执行器executer 在APScheduler中执行器Executor是用于执行调度的组件。执行器负责管理调度的任务并决定何时以及如何执行它们。APScheduler提供了不同类型的执行器以满足不同的需求。 // 使用示例 -*********************************************************************** (4) 触发器(trigger) -**************************************************************************
步骤3在Django中实现多个定时任务调度 (1) 安装 pip install django-xxxxx (2) 注册app 在settings.py中注册按如下图所示注册app。 -***************************************************************************
(3) 数据库连接配置 // -*************************************************************************** 运行python manage.py migrate会自动生成下列2表创建超级用户后可直接进入后台管理任务调度如下图所示 -**********************************************************************
(4) 创建定时任务 以湖北为例 -********************************************************************** 导入BackgroundScheduler类这是APScheduler中用于在应用程序的后台运行的调度器。通过调用start()方法启动后台调度器。使用了DjangoJobStore作为任务存储jobstore。/ / -********************************************************************* 使用 ThreadPoolExecutor并发执行多个任务提高效率。在上述代码中并发执行了两个任务 // 这是一个运行指定目录文件下的采集数据脚本的函数 run_program。 命令行执行/ / 重试机制使用 retries 变量实现了一个简单的重试机制即如果命令执行失败会进行最多两次的重试。这有助于应对一些暂时性的问题。 错误处理 / / -************************************************************************** 将文件运行的结果存储到数据库中 -**************************************************************************
(5) 定时运行结果 定时任务执行记录如下图所示脚本执行记录 -**********************************************************************************