Skip to main content
https://api.travis-ci.org/dbader/schedule.png https://coveralls.io/repos/dbader/schedule/badge.png https://pypip.in/v/schedule/badge.png

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.

https://github.com/dbader/schedule

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

Release files for schedule 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for schedule 0.1.11
File Size Uploaded
schedule-0.1.11.tar.gz 6.8 kB Details

Release files / schedule-0.1.11.tar.gz

Download URL schedule-0.1.11.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
50bb305ee83441a027b560df6170c204d4aeb0339bc52b363c882e46b1347fb8
BLAKE2b-256 checksum
How to use checksums
ea5d090db0adb503ad04cf72333580f48aca694d9c96cb0e102bb33f7f8ab73d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

3 release files

0.4.0

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.1

1 release file

0.2.0

1 release file

This release

0.1.11 This release

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page