A scheduler built on cron syntax with weekend/holiday features
Project description
scheduleplus
A scheduler built on cron syntax with workday/holiday check feature
| Atributes | Allowed values | Allowed special characters | Required |
|---|---|---|---|
| Minutes | 0-59 | * , - / | Yes |
| Hours | 0-23 | * , - / | Yes |
| Days | 1-31 | * , - / L | Yes |
| Months | 1-12, JAN-DEC | * , - / | Yes |
| Weekdays | 0-6, MON-SUN | * , - / F L | Yes |
| Holiday(* | 0, 1 | * | No |
Holiday*
0 = checking if workday, 1 = checking if holiday, * = any day
Installation
pip install scheduleplus
Usage
Running a function on schedule
This runs the function every 5 minutes.
from scheduleplus.schedule import Scheduler
def work(data):
print(f"Working {data}...")
schedule = Scheduler()
schedule.cron("*/5 * * * *").do_function(work, "test")
while True:
schedule.run_function_jobs()
time.sleep(1)
Running a callback
This runs the callback with a dictonary every 5 minutes.
from scheduleplus.schedule import Scheduler
def work(data):
print(f"Working {data}...")
schedule = Scheduler()
schedule.cron("*/5 * * * *").do_callback({"message": "cool"})
while True:
schedule.run_callback_jobs(work)
time.sleep(1)
List jobs
schedule = Scheduler()
schedule.cron("*/5 * * * *").do_function(work, "test")
schedule.cron("1 1 1 1 1").do_callback({"message": "cool"})
schedule.list_jobs()
Result
Job id Cron Next run time Time left Function Callback message
-------- ------------- --------------------- --------------------- --------------- ---------------------
1 */5 * * * * 2022-11-04 13:50:00 0:00:29 work('test')
2 1 1 1 1 1 2030-01-01 01:01:00 2614 days, 11:11:29 {'message': 'cool'}
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scheduleplus-0.1.2.tar.gz.
File metadata
- Download URL: scheduleplus-0.1.2.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a4a14462b61533bd35f159c97646c9a21ae381762ebc07f8aefdada8acb8ac3
|
|
| MD5 |
86bc4d0b37ab4386a0f77eddf34ecdcc
|
|
| BLAKE2b-256 |
62f297099d2bc256c3a90a827337d33446c83b5e5f15537253847cb6204d7dcb
|
File details
Details for the file scheduleplus-0.1.2-py3-none-any.whl.
File metadata
- Download URL: scheduleplus-0.1.2-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8746639b6329d5279feacf9b8a2fdd4be4b93d86fdb1c55946ac06d413291fb3
|
|
| MD5 |
578ddac0710fc71a11fda7abfaaa9436
|
|
| BLAKE2b-256 |
e63212baf7edcffe51ec9d2ac9f56d8a8891e110d3d6c6572443cf77086441c2
|