我正在开发一个日程安排应用程序,日程表中有很多灯在特定时间打开和关闭,比如说如果我早上开始日程表,所有灯都会打开然后在晚上停止,但是有一些灯需要停止随机时间并再次打开。我尝试了一些 python 包,如 APScheduler,但它没有停止和恢复特定任务(或在这种情况下为灯)的功能。
这个问题使用pickle停止和恢复,但我不知道如何实现它,有什么办法可以解决这个问题?
提前谢谢,对不起我的语法不好。
- 更新 -
这是简单的实现,我不确定这段代码是否正确。
from datetime import datetime
from time import sleep
class Scheduling:
def __init__(self):
self.lamp = {}
def run(self, lamp_id, start, finish):
"""Called one-time only for each lamp"""
self.lamp[lamp_id] = (start, finish)
while True:
if datetime.now().strftime('%H:%M:%S') == start:
sleep(1)
print 'SET LAMP %s ON' % lamp_id
elif datetime.now().strftime('%H:%M:%S') == finish:
sleep(1)
print 'SET LAMP %s OFF' % lamp_id
def stop(self, lamp_id):
print 'SET lamp %s OFF' % lamp_id
def resume(self, lamp_id):
print 'SET lamp %s ON' % lamp_id
finish = self.lamp[lamp_id][1]
while True:
if datetime.now().strftime('%H:%M:%S') == finish:
print 'SET lamp %s OFF' % lamp_id
if __name__ == '__main__':
schedule = Scheduling()
schedule.run(1, '00:00:00', '00:01:00')