zoukankan      html  css  js  c++  java
  • apscheduler(定时任务) 基于redis持久化配置操作

    apscheduler(定时任务) 基于redis持久化配置操作

    • 安装模块

      pip install apscheduler
      
    • 导入模块配置

      ## 配置redis模块
      from apscheduler.jobstores.redis import RedisJobStore
      
      ## 配置线程
      from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
      
      ## 创建定时任务的包
      from apscheduler.schedulers.background import BackgroundScheduler
      
    • 配置

      ## 其中  REDIS  这个是redis的配置信息
      
      REDIS = {
          'host': '127.0.0.1',
          'port': '6379',
          'db': 0,
          'password': ''
      }
      
      jobstores = {
          'redis': RedisJobStore(**REDIS)
      }
      
      executors = {
          'default': ThreadPoolExecutor(10),#默认线程数
          'processpool': ProcessPoolExecutor(3)#默认进程
      }
      
    • 初始化方法

      sched_1 = BackgroundScheduler(jobstores=jobstores, executors=executors)
      ### 将配置信息放在里边
      
    • 然后调用方法

      job = sched_1.add_job(func=func, trigger='date', jobstore='redis', run_date="%Y-%m-%d %H:%M:%S", args=(notice, ))
      
      ## 其中的func指的是定时任务需要的方法名称,
      ## trigger 根据时间触发      默认值为 date
      ## jobstore 持久化的方式     如果要持久化必须写, 不写的话就会默认将定时任务保存在内存中,当项目重启之后就会失效
      ## run_date 执行的时间     执行需要的时间
      ## args			执行方法的参数
      
      
      sched.start()
      这样我们的定时任务就启动了
      
      
      注意: 我这边在写func的时候用的是单独的函数,但是我在使用同一个类下的方法的时候会报一个找不到的错误
    • 下图就是我们定时任务保存在redis的数据

      ![](https://img2020.cnblogs.com/blog/1732284/202101/1732284-20210104140134667-835600623.png)
  • 相关阅读:
    第3次实践作业
    第2次实践作业
    第1次实践作业
    2019 SDN大作业
    第05组 Beta版本演示
    个人作业——软件工程实践总结&个人技术博客
    个人作业——软件评测
    Springboot项目部署到云服务器(Ubuntu 18.04)
    结对第二次作业——某次疫情统计可视化的实现
    结对第一次—疫情统计可视化(原型设计)
  • 原文地址:https://www.cnblogs.com/zhufanyu/p/14011317.html
Copyright © 2011-2022 走看看