正文
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)
安装模块
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)