Python/schedule: Difference between revisions
< Python
Jump to navigation
Jump to search
| Line 95: | Line 95: | ||
<source lang="python"> | <source lang="python"> | ||
import asyncio | |||
import datetime | |||
import schedule | |||
import time | |||
async def task(): | |||
isotime = datetime.datetime.now().strftime('%H:%M:%S') | |||
print("{} | I'm working.".format(isotime)) | |||
await asyncio.sleep(2) | |||
def job(): | |||
asyncio.run(task()) | |||
schedule.every(3).seconds.do(job) | |||
while True: | |||
schedule.run_pending() | |||
time.sleep(1) | |||
</source> | </source> | ||
<source lang="text"> | <source lang="text"> | ||
11:15:53 | I'm working. | |||
11:15:58 | I'm working. | |||
11:16:03 | I'm working. | |||
11:16:08 | I'm working. | |||
11:16:13 | I'm working. | |||
</source> | </source> | ||
Revision as of 03:17, 24 December 2020
Some tests
# Okay
schedule.every().wednesday.at('02:28').do(job)
# No effect
schedule.every().wednesday.thursday.at('02:28').do(job)
# 02:56:30 works only
schedule.every().wednesday.at('02:56:00').at('02:56:30').do(job)
standard
import datetime
import time
import schedule
def job():
isotime = datetime.datetime.now().strftime('%H:%M:%S')
print("{} | I'm working.".format(isotime))
schedule.every(3).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
18:37:57 | I'm working.
18:38:00 | I'm working.
18:38:03 | I'm working.
18:38:06 | I'm working.
18:38:09 | I'm working.
long time job
import datetime
import time
import schedule
def job():
isotime = datetime.datetime.now().strftime('%H:%M:%S')
print("{} | I'm working.".format(isotime))
time.sleep(2)
schedule.every(3).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
18:40:16 | I'm working.
18:40:21 | I'm working.
18:40:26 | I'm working.
18:40:31 | I'm working.
18:40:36 | I'm working.
long time job with threading
import datetime
import schedule
import threading
import time
def task():
isotime = datetime.datetime.now().strftime('%H:%M:%S')
print("{} | I'm working.".format(isotime))
time.sleep(2)
def job():
t = threading.Thread(target=task)
t.start()
schedule.every(3).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
11:09:35 | I'm working.
11:09:38 | I'm working.
11:09:41 | I'm working.
11:09:44 | I'm working.
11:09:47 | I'm working
long time job with asynchronous
import asyncio
import datetime
import schedule
import time
async def task():
isotime = datetime.datetime.now().strftime('%H:%M:%S')
print("{} | I'm working.".format(isotime))
await asyncio.sleep(2)
def job():
asyncio.run(task())
schedule.every(3).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
11:15:53 | I'm working.
11:15:58 | I'm working.
11:16:03 | I'm working.
11:16:08 | I'm working.
11:16:13 | I'm working.