ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python之定时任务schedule

2022-04-05 12:35:37  阅读:214  来源: 互联网

标签:do name schedule python job every fun 定时


1.安装

pip install schedule

2.基本操作

import schedule
import time

def job(name):
    time.sleep(5)
    print("her name is : ", name)

name = "longsongpong"
# 秒
schedule.every(1).seconds.do(job, name)
# 分
schedule.every(10).minutes.do(job, name)
# 小时
schedule.every().hour.do(job, name)
# 天
schedule.every().day.at("10:30").do(job, name)
# 每5-10天就执行一次
schedule.every(5).to(10).days.do(job, name)
# 每周一
schedule.every().monday.do(job, name)
# 每周三13:15执行一次任务
schedule.every().wednesday.at("13:15").do(job, name)

while True:
    schedule.run_pending()
    time.sleep(1)
View Code

3.原理

它是串行的,我们一般用多线程进行处理

4.直接用这种

import datetime, time
import schedule
from threading import Thread

key = "1"
tm = datetime.datetime.now()

def fun1(key):
    print(f"fun1:{tm}")


def fun2(key):
    print(f"fun2:{tm}")

#=================配置信息=========================
# 现在这里写着吧,后面优化就放到配置文件里,函数放到公共的py文件里
# 配置多少秒跑一次
loop_second = 1
# 采用多线程来跑程序
def create_thread(fun):
    # 如果函数需要传参,则创建按一个字典对应的参数需要传什么
    t = Thread(target=fun, args=key)
    t.start()


# 配置一下所有要定时的函数
arr_fun = [fun1, fun2]

if __name__ == '__main__':
    for fun in arr_fun:
        thread_fun = create_thread
        schedule.every(loop_second).seconds.do(thread_fun, fun)
    while True:
        schedule.run_pending()
View Code

 

标签:do,name,schedule,python,job,every,fun,定时
来源: https://www.cnblogs.com/wusen0601/p/16101860.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有