I am using schedule to do functions that work with the real-time datetime.datetime.now()
.
But when calling the function datetime.datetime.now()
i always get start time schedule script.
Example:
import schedule
import time
import datetime
schedule.every(2).minutes.do(print, datetime.datetime.now().strftime("%d-%m-%Y %H:%M"))
while 1:
schedule.run_pending()
time.sleep(1)
Example result:
28-04-2021 19:59
28-04-2021 19:59
28-04-2021 19:59
28-04-2021 19:59
Does anyone have any ideas how one can get real time during the execution of the scheduler?
Python => 3.8
schedule => 1.1.0
This is because the return value of now()
gets saved in memory. Pass a lambda or function to ensure it is dynamically calculated:
import schedule
import time
import datetime
schedule.every(2).minutes.do(
lambda: print(datetime.datetime.now().strftime("%d-%m-%Y %H:%M"))
)
while 1:
schedule.run_pending()
time.sleep(1)