Job scheduling for humans. With cronjob support.
Project description
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.
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.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33d40e398480bcd73ccc3320f3182708b54b555822eee939478cf7bbff09f7d9 |
|
MD5 | 731d26a4d79d2a55e3cb4961cc3514e5 |
|
BLAKE2b-256 | 428927fc3cd6cd18d1f6d23ff6c6748391925f6c61b99d69de73855a99740e2b |
File details
Details for the file schedule_cronjob-1.3.1-py3-none-any.whl
.
File metadata
- Download URL: schedule_cronjob-1.3.1-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 145c7516d975e87e117671368ef413a019c9bc919acbf91cff6cd62b58c2fba1 |
|
MD5 | bfda961a795e3c34a8d7c1e12c1c7760 |
|
BLAKE2b-256 | c34e5dd2301d4785ca779ef8ce442faf686bf7ad0dcfd047e0ba6c5bf28bcbd5 |