-
Notifications
You must be signed in to change notification settings - Fork 961
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Schedule every hour #55
Comments
Try this:
It's the same syntax as for performing a task at the specified time each day, but the hour component will be ignored. |
But with the hour component ignored, won't it only be executed at 00:00? |
Sorry, I meant the hour component in the 'at' clause. It will ignore that value since it only applies to I think this is a little quirky, and it would work a lot better with a specialized |
@dylwhich at_time() is not work.
|
Sorry, I should have been more clear; the second paragraph of my comment is a theoretical description of how it could be changed to work a bit more flexibly/clearly. |
This already works, or was fixed at some point. You can do: @dbader Please close this issue. |
If my PR gets approved, it will throw an assertion error if you try to do |
@dgrant I would like to execute my job every hour ad xx:45. Can you help me? |
This does not work, @dgrant. Mon Jul 9 15:00:56 2018
Mon Jul 9 16:00:57 2018
Mon Jul 9 17:04:01 2018
Mon Jul 9 18:04:58 2018 Here's the code that did this, modified, but the main ingredients are here: import schedule
import time
def do_something():
# some work here
pass
def print_time():
print(time.asctime())
time.sleep(100)
schedule.every().hour.do(do_something)
schedule.every().hour.at(':00').do(print_time)
while True:
schedule.run_pending()
time.sleep(60) |
I've seen this use case requested a few times here (e.g. #144) but no solution has been provided. Quite a common use case. I really hope we get something reliable. |
Let's take a closer look at the example provided by @rokcarl and investigate further. I've taken the following snippet: import schedule
import time
def job():
print("job", time.asctime())
time.sleep(100)
schedule.every().hour.at(':00').do(job)
while True:
print("run_pending", time.asctime())
schedule.run_pending()
time.sleep(60) and let it ran for a few ours. It gave the following output: Click here to expand.
In this example there is always 60 seconds of sleep-time between execution of Using We can conclude it is possible to schedule jobs at whole hours using the |
At the moment it is possible to schedule a task to run every hour however it schedules the task every hour from the moment it is added to the cue. There is no convenient way to schedule a task every "whole" hour (You'd have to add the job 24 times on the hour..)
Suggestion for improvement: enable "whole hour" cues.
The text was updated successfully, but these errors were encountered: