Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Python 以一个指定的间隔定时循环执行任务

程序功能:指定一个或者同时多个固定的延迟(例如,5mins, 1hour,1 day, 1 week),程序按照这个指定的延迟定时循环执行某个workfrom datetime import date, time, datetime, timedeltadef 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)Python 的详细介绍:请点这里
Python 的下载地址:请点这里推荐阅读:《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htmPython脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm