1 # -*- coding: utf-8 -*-
 2 import datetime, calendar, time
 3 from collections import namedtuple
 4 
 5 def create_logger(filename="file.log"):
 6     def logger(info):
 7         now = datetime.datetime.today()
 8         time_str = now.strftime('%H:%M:%S: ')
 9         f = open(filename, "a")
10         f.write(time_str)
11         f.write(info)
12         f.close()
13     return logger
14 
15 Task = namedtuple("task", "name, time, task")
16 
17 def perfrom_one_task(task=None):
18     now = datetime.datetime.today()
19     time_str = now.strftime('%H:%M')
20     if time_str == task.time:
21         print "Performing", task.name
22         task.task()
23         time.sleep(70) # 睡眠70秒避免在相同时段内重复执行相同任务
24         print "Sleep Done!"
25         return True
26     return False
27 
28 def run(Tasks):
29     while True:
30         map(perfrom_one_task, Tasks)
31         time.sleep(1)
32 
33 # ==============================================================================
34 logger = create_logger("log.log")
35 
36 def mytask(logger=logger):
37     logger("do something\n")
38 
39 Tasks = [Task("testtask", "14:30", mytask)]
40 
41 run(Tasks)

 

相关文章:

  • 2021-12-01
  • 2022-01-23
  • 2021-05-06
  • 2021-08-28
  • 2021-08-04
  • 2022-12-23
  • 2022-01-09
猜你喜欢
  • 2021-12-23
  • 2022-12-23
  • 2022-02-27
  • 2021-12-16
  • 2021-08-13
  • 2021-11-20
相关资源
相似解决方案