Job scheduling for humans.
Project description
Python job scheduling for humans.
An in-process scheduler for periodic jobs that uses the builder pattern for configuration. Schedule lets you run Python functions (or any other callable) periodically at pre-determined intervals using a simple, human-friendly syntax.
Inspired by Adam Wiggins’ article “Rethinking Cron” (Google cache) and the clockwork Ruby module.
Features
A simple to use API for scheduling jobs.
Very lightweight and no external dependencies.
Excellent test coverage.
Works with Python 2.7 and 3.3
Usage
$ pip install schedule
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
while True:
schedule.run_pending()
time.sleep(1)
FAQ
In lieu of a full documentation (coming soon) check out this set of frequently asked questions for solutions to some common questions.
Meta
Daniel Bader – @dbader_org – mail@dbader.org
Distributed under the MIT license. See LICENSE.txt for more information.
History
0.1.11 (2013-07-30)
Fixed an issue with next_run() throwing a ValueError exception when the job queue is empty. Thanks to @dpagano for pointing this out and thanks to @mrhwick for quickly providing a fix.
0.1.10 (2013-06-07)
Fixed issue with at_time jobs not running on the same day the job is created (Thanks to @mattss)
0.1.9 (2013-05-27)
Added schedule.next_run()
Added schedule.idle_seconds()
Args passed into do() are forwarded to the job function at call time
Increased test coverage to 100%
0.1.8 (2013-05-21)
Changed default delay_seconds for schedule.run_all() to 0 (from 60)
Increased test coverage
0.1.7 (2013-05-20)
API change: renamed schedule.run_all_jobs() to schedule.run_all()
API change: renamed schedule.run_pending_jobs() to schedule.run_pending()
API change: renamed schedule.clear_all_jobs() to schedule.clear()
Added schedule.jobs
0.1.6 (2013-05-20)
Fix packaging
README fixes
0.1.4 (2013-05-20)
API change: renamed schedule.tick() to schedule.run_pending_jobs()
Updated README and setup.py packaging
0.1.0 (2013-05-19)
Initial release
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.