Job scheduling for humans. With cronjob support.
Project description
Python job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax.
A simple to use API for scheduling jobs, made for humans.
In-process scheduler for periodic jobs. No extra processes needed!
Very lightweight and no external dependencies.
Excellent test coverage.
Tested on Python and 3.7, 3.8, 3.9, 3.10, 3.11
Usage
$ pip install schedule-cronjob
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).seconds.do(job)
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().day.at("12:42", "Europe/Amsterdam").do(job)
schedule.every().minute.at(":17").do(job)
schedule.every().crontab_expression("5 4 * * 2,5", "Europe/Amsterdam").do(job)
def job_with_argument(name):
print(f"I am {name}")
schedule.every(10).seconds.do(job_with_argument, name="Peter")
while True:
schedule.run_pending()
time.sleep(1)
Documentation
Schedule’s documentation lives at schedule.readthedocs.io.
Meta
Daniel Bader - @dbader_org - mail@dbader.org
Inspired by Adam Wiggins’ article “Rethinking Cron” and the clockwork Ruby module.
Distributed under the MIT license. See LICENSE.txt for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for schedule_cronjob-1.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a3be4408de533cc3512bab44dc9aba621f55ba0fb7ba63826f8ee0bc85baf6e |
|
MD5 | dac82821897118025d7ce74b5e3ff216 |
|
BLAKE2b-256 | a5efbef24a804d0dcef569b37e5a056ce86608a1de9cf8a880ae864e1483eeeb |