Skip to main content

Job scheduling for humans. With cronjob support.

Project description

https://github.com/dbader/schedule/workflows/Tests/badge.svg https://coveralls.io/repos/dbader/schedule/badge.svg?branch=master https://img.shields.io/pypi/v/schedule.svg

This fork

The current project is a fork of the incredible work of Daniel Bader (https://github.com/dbader/schedule) and all contributors (see AUTHORS.rst). I was focused in having support for cronjob expression in the ‘schedule’ library engine. There’s an interesting pull request from Romain Michel (https://github.com/dbader/schedule/pull/581) that implements exactly what I need. After having reviewed and tested the work of Romain, I’ve merged his pull request into this forked repo and published on pypi under the name of ‘schedule-cronjob’ (https://pypi.org/project/schedule-cronjob/)

Schedule

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.

https://github.com/yusefmaali/schedule-cronjob

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

schedule-cronjob-1.3.1.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

schedule_cronjob-1.3.1-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file schedule-cronjob-1.3.1.tar.gz.

File metadata

  • Download URL: schedule-cronjob-1.3.1.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for schedule-cronjob-1.3.1.tar.gz
Algorithm Hash digest
SHA256 33d40e398480bcd73ccc3320f3182708b54b555822eee939478cf7bbff09f7d9
MD5 731d26a4d79d2a55e3cb4961cc3514e5
BLAKE2b-256 428927fc3cd6cd18d1f6d23ff6c6748391925f6c61b99d69de73855a99740e2b

See more details on using hashes here.

File details

Details for the file schedule_cronjob-1.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for schedule_cronjob-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 145c7516d975e87e117671368ef413a019c9bc919acbf91cff6cd62b58c2fba1
MD5 bfda961a795e3c34a8d7c1e12c1c7760
BLAKE2b-256 c34e5dd2301d4785ca779ef8ce442faf686bf7ad0dcfd047e0ba6c5bf28bcbd5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page