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

程序功能:指定一个或者同时多个固定的延迟(例如,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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值