复制代码 代码如下:
class SLTimer(multiprocessing.Process):
#from datetime import datetime
#import time
def __init__(self, target=None, args=(), kwargs={},date=None,time=None):
'''\
@param date 1900-01-01
@param time 00:00:00
'''
super(SLTimer,self).__init__(target=target,args=args,kwargs=kwargs)
_date = ''
if date is None:
_date = datetime.now().__str__()[:10]
else :
_date = date
_time = ''
if time is None:
_time = datetime.now().__str__()[11:19]
else:
_time = time
self.__runtime = '%s %s' % (_date,_time)
def run(self):
timeLen = len('1900-00-00 00:00:00')
while True:
now = datetime.now().__str__()[:timeLen]
if now>=self.__runtime:
break
print 'sleeping... %s' % now
time.sleep(1.0)
super(SLTimer,self).run()
测试
复制代码 代码如下:
def show1():
from datetime import datetime
print 'hello,current time:%s' % datetime.now().__str__()
def t23():
from stock.task import SLTimer
timer = SLTimer(show1, time='16:31:50')
timer.start()