dbader / schedule

Python job scheduling for humans.
https://schedule.readthedocs.io/
MIT License
11.73k stars 959 forks source link

Issue with running job in 2 specific day in a week #499

Open arsenal120496 opened 2 years ago

arsenal120496 commented 2 years ago
def run_schedule_save_video(start_time, end_time, duration, buffer, s3_access_key, s3_access_secret_key, s3_bucket):
    print("start run_schedule_save_video")
    import schedule
    import time

    schedule.every().monday.at("10:00").do(write_video, start_time[0]['Monday'], end_time[0]['Monday'], duration, buffer, s3_access_key, s3_access_secret_key, s3_bucket, "job monday")
    schedule.every().tuesday.at("10:00"]).do(write_video,start_time[0]['Tuesday'], end_time[0]['Tuesday'], duration, buffer, s3_access_key, s3_access_secret_key, s3_bucket, "job monday")

    while True:
        schedule.run_all()
        time.sleep(1)

I have a schedule just run in Monday and Tuesday in a week. When i try to run this code , it executed the job on Monday after that it continue run the job on Tuesday despite of it just Monday today.

Any suggest for this case?

gquittet commented 2 years ago

@arsenal120496

It's normal. It's because of https://schedule.readthedocs.io/en/stable/examples.html?highlight=day#run-all-jobs-now-regardless-of-their-scheduling

You have to use schedule.run_pending() instead of schedule.run_all()