前提・実現したいこと
どこで実行する時間の違いがでているかが少しでも知りたい
該当のソースコード(1つ目)
Python
1import datetime 2import schedule 3import time 4 5def job(): 6 print(datetime.datetime.now()) 7 print("I'm working ...") 8 9schedule.every().day.at("11:13").do(job) 10 11while True: 12 schedule.run_pending() 13 time.sleep(60)
該当のソースコード(2つ目)
Python
1import sched, time, datetime 2 3s = sched.scheduler(time.time, time.sleep) 4 5et1 = datetime.datetime(2020, 7, 18, 11, 23) # 実行する時間の作成 6et1 = int(time.mktime(et1.timetuple())) # UNIX時間に変換 7 8et2 = datetime.datetime(2020, 7, 18, 11, 23) 9et2 = int(time.mktime(et2.timetuple())) 10 11 12def processing(a): 13 print(datetime.datetime.now(), a) 14 15 16def schedule(): 17 s.enterabs(et1, 1, processing, argument=('event1',)) 18 s.enterabs(et2, 1, processing, argument=('event2',)) 19 s.run() 20 21 22schedule()
実行結果
・1つ目:2020-07-18 11:13:57.744232
I'm working ...
・2つ目:2020-07-18 11:23:00.014901 event1
2020-07-18 11:23:00.014901 event2
1つ目は実行設定時刻(11:13)から実行までに57秒かかっている
(もう一回実行してみると40秒かかっていました)
2つ目は実行設定時刻(11:23)から実行までに0.1秒もかかっていない
(もう一回実行してみても0.1秒かかっていない)
どこでこのような差が出たのでしょうか
私にはどちらもシンプルなコードに見えるのですが。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。