博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python脚本
阅读量:6504 次
发布时间:2019-06-24

本文共 1406 字,大约阅读时间需要 4 分钟。

python定时任务

1.time.sleep(n)
循环执行,使用sleep阻塞n秒,缺点是sleep是个阻塞函数,会阻塞进程。

import datetimeimport timedef dosomething():    while True:        print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))        time.sleep(10)dosomething()print('end')

运行结果:

300946-20170922111532165-165137109.png

2.Timer(n, func)

使用threading的Timer实现定时任务,Timer是非阻塞的。

import datetimefrom threading import Timerdef dosomething():        print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))        Timer(10, dosomething).start()dosomething()print('end')

运行结果:

300946-20170922111546900-612565446.png

3.sched调度器

shced模块是标准库定义的,它是一个调度器(延时处理禁止),将任务事件加入调度队列,调度器就会顺序执行

import datetimeimport timeimport scheddef dosomething():        print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))        schedule.enter(10, 1, dosomething, ())# 生成调度器(两个参数比较复杂,暂不考虑含义)schedule = sched.scheduler(time.time, time.sleep)# 加入调度事件(间隔10秒执行,多个事件同时到达时优先级,触发的函数,函数参数)schedule.enter(10, 1, dosomething, ())# 运行schedule.run()print('end')

运行结果:

300946-20170922111558728-934339132.png

4.定时框架APScheduler(Advanced Python Scheduler)

APScheduler是一个第三方库,使用很方便,支持间隔时间执行,固定时间执行,某个日期执行一次三种类型。

import datetimefrom apscheduler.schedulers.blocking import BlockingSchedulerdef dosomething():        print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))scheduler = BlockingScheduler()scheduler.add_job(dosomething, 'interval', seconds=10)scheduler.start()print('end')

运行结果:

300946-20170922111607540-469053763.png

5.windows定时任务

可以使用pyinstaller将python程序打包成exe文件,然后添加到windows的定时任务。

6.Linux定时任务

可以使用Crontab定时运行python脚本。

转载地址:http://yvmyo.baihongyu.com/

你可能感兴趣的文章
深入剖析Android系统试读样章
查看>>
测试用例出错重跑--flaky插件
查看>>
yaf的安装
查看>>
比较java与C++的不同
查看>>
Twitter Storm入门
查看>>
使用scikit-learn进行文本分类
查看>>
Ansible自动化运维配置与应用(结合实例)
查看>>
下面简要介绍软件工程的七条原理
查看>>
Lua(三)——语句
查看>>
怎么看电脑有没有安装USB3.0驱动
查看>>
overflow清除浮动的原理
查看>>
Spring Boot 使用parent方式引用时 获取值属性方式默认@
查看>>
解决maven下载jar慢的问题(如何更换Maven下载源)
查看>>
linux安装gitLab
查看>>
concurrent包的实现示意图
查看>>
golang os.Args
查看>>
Linux常用命令
查看>>
spring-data-elasticsearch 概述及入门(二)
查看>>
Solr启动和结束命令
查看>>
1.12 xshell密钥认证
查看>>