私はスケジューリングアプリケーションを開発していました。スケジュールには、特定の時間にオン/オフする多くのランプがあります。たとえば、朝にスケジュールを開始すると、すべてのランプがオンになり、夜に停止しますが、停止する必要があるランプがいくつかありますランダムな時間、また再びオンにします。APScheduler のような python パッケージをいくつか試しましたが、特定のタスク (またはこの場合はランプ) を停止して再開する機能がありません。
ピクルを使用して停止および再開するこの質問ですが、実装方法がわかりません。これを解決する方法はありますか?
よろしくお願いします。文法が下手で申し訳ありません。
- アップデート -
これは簡単な実装ですが、このコードが正しいかどうかはわかりません。
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')