Skip to content
This repository has been archived by the owner on Mar 15, 2024. It is now read-only.

imiric/schedule

 
 

Repository files navigation

schedule

image

image

image

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 with python-dateutil. as the only dependency.
  • 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)
# Timezone support!
# If not specified, the local timezone is assumed.
schedule.every().day.at("10:30 PDT").do(job)
schedule.every(2).weeks.starting('2013-08-28').do(job)
schedule.every(2).weeks.on('Tuesday', 'fri').between("07:00-19:00").do(job)
schedule.on('sun|mon', 'wed|thu').between('15:00-18:00').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_orgmail@dbader.org

Distributed under the MIT license. See LICENSE.txt for more information.

https://github.com/dbader/schedule

About

Python job scheduling for humans.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%