Skip to content

Latest commit

 

History

History
82 lines (54 loc) · 2.38 KB

README.rst

File metadata and controls

82 lines (54 loc) · 2.38 KB

schedule

https://img.shields.io/github/license/freepn/schedule GitHub tag (latest SemVer pre-release) https://travis-ci.org/freepn/schedule.svg?branch=master Codecov https://img.shields.io/codeclimate/maintainability/freepn/schedule

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" and the clockwork Ruby module.

Features

  • A simple to use API for scheduling jobs.
  • Very lightweight and no external dependencies.
  • Excellent test coverage.
  • Tested on Python 2.7, 3.5, and 3.6

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)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().minute.at(":17").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

Documentation

Schedule's documentation lives at schedule.readthedocs.io.

Please also check the FAQ there with common questions.

Meta

Daniel Bader - @dbader_org - [email protected]

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

https://github.com/dbader/schedule