模块 schedule 定时任务
2024-09-05 01:08:40
schedule模块实现定时任务
2018-08-29 15:01:51 更多
一、官方示例
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).days.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
while True:
schedule.run_pending()
time.sleep(1)
二、多线程解决多任务串行执行任务的延迟问题
未使用多线程
import datetime
import schedule
import time
def job1():
print("I'm working for job1")
time.sleep(2)
print("job1:", datetime.datetime.now())
def job2():
print("I'm working for job2")
time.sleep(2)
print("job2:", datetime.datetime.now())
def run():
schedule.every(10).seconds.do(job1)
schedule.every(10).seconds.do(job2)
while True:
schedule.run_pending()
time.sleep(1)
使用多线程
import datetime
import schedule
import threading
import time
def job1():
print("I'm working for job1")
time.sleep(2)
print("job1:", datetime.datetime.now())
def job2():
print("I'm working for job2")
time.sleep(2)
print("job2:", datetime.datetime.now())
def job1_task():
threading.Thread(target=job1).start()
def job2_task():
threading.Thread(target=job2).start()
def run():
schedule.every(10).seconds.do(job1_task)
schedule.every(10).seconds.do(job2_task)
while True:
schedule.run_pending()
time.sleep(1)
最新文章
- codevs 1002 搭桥
- winform 对话框、打印框
- Javascript获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度
- 数据库 CHECKDB 发现了x个分配错误和 x 个一致性错误
- MongoDB 安装和即基本操作
- cocos2d-x如何优化内存的应用
- CentOS安装卸载memcache及JAVA示例
- Thinkphp将中文年份转换为数字年份的问题
- CMake Intro - CMakeLists.txt
- P4语言编程快速开始 实践一
- Linux云自动化运维第三课
- [SQL]LeetCode184. 部门工资最高的员工 | Department Highest Salary
- 使用Spark进行搜狗日志分析实例——map join的使用
- 自己的mongodb的CRUD封装
- Python经典算法片段
- vim设置行号
- BZOJ5177 : [Jsoi2013]贪心的导游
- PHP时间类完整实例
- Python yaml处理
- win7系统Oracle数据库本地备份