当前位置:
首页 > temp > python入门教程 >
-
sched 模块中巨好用的轻量级定时任务神器scheduler!
这种定时调度任务的实现还是比较简单的,总体来说只需要编写好定时任务最好使用标准范式来使得任务运行起来。
首先,需要导入三个模块的扩展库。主要是为了两个方面,一个是为了记录时间或者日期准备的,另一个则是为了执行编写好的任务。
import sched # 定时任务模块
import time # 时间模块
from datetime import datetime # 日期时间模块
接下来主要看一下执行定时任务的函数,就是通过这个函数最后将定时任务可以调度起来执行的,看一下这个调度函数的组成部分。
'''
初始化scheduler类对象
time.time 可以返回时间戳的函数
time.sleep 实现运行阻塞等待
用time模块的这两个函数来实例化scheduler对象
'''
schedule = sched.scheduler(time.time, time.sleep)
第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
编写一个任务用于执行。
def work(cycle):
'''
定义需要执行的工作任务
:param cycle: 时间周期,单位:秒
:return:
'''
print('当前执行时间:',datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 将任务函数加到定时任务中
schedule.enter(cycle, 0, work, (cycle,))
print('任务执行状态:', 'success')
函数介绍:enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数。
最后,编写调起上述任务的触发函数,通过触发上面已经写好的定时任务来完成定时任务的执行。
def exec_work(cycle=10):
# 添加触发函数
schedule.enter(0, 0, work, (cycle,))
# 启动任务
schedule.run()
再通过main的函数入口执行exec_work函数,这样一个定时任务的调度就算完成了。
if __name__ == '__main__':
exec_work(1)
原文:https://www.cnblogs.com/lwsbc/p/15496436.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数