Python 以一个指定的间隔定时循环执行任务

本文介绍了一个简单的Python定时任务调度程序,该程序可以根据指定的时间间隔(如天、小时、分钟等)重复执行特定的任务。通过使用datetime模块,可以精确地控制任务的执行频率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序功能:指定一个或者同时多个固定的延迟(例如,5mins, 1hour,1 day, 1 week),程序按照这个指定的延迟定时循环执行某个work




from datetime import date, time, datetime, timedelta


def work():

   print "hello world."


def runTask(func, day=0, hour=0, min=0, second=0):

   # Init time

   now = datetime.now()

   strnow = now.strftime('%Y-%m-%d %H:%M:%S')

   print "now:",strnow

   # First next run time

   period = timedelta(days=day, hours=hour, minutes=min, seconds=second)

   next_time = now + period

   strnext_time = next_time.strftime('%Y-%m-%d %H:%M:%S')

   print "next run:",strnext_time

   while True:

       # Get system current time

       iter_now = datetime.now()

       iter_now_time = iter_now.strftime('%Y-%m-%d %H:%M:%S')

       if str(iter_now_time) == str(strnext_time):

           # Get every start work time

           print "start work: %s" % iter_now_time

           # Call task func

           func()

           print "task done."

           # Get next iteration time

           iter_time = iter_now + period

           strnext_time = iter_time.strftime('%Y-%m-%d %H:%M:%S')

           print "next_iter: %s" % strnext_time

           # Continue next iteration

           continue


# runTask(work, min=0.5)

runTask(work, day=1, hour=2, min=1)



本文转自 pgmia 51CTO博客,原文链接:http://blog.51cto.com/heyiyi/1365908

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值