Skip to main content

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

scheduleplus-0.1.2.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

scheduleplus-0.1.2-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

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

Hashes for scheduleplus-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4a4a14462b61533bd35f159c97646c9a21ae381762ebc07f8aefdada8acb8ac3
MD5 86bc4d0b37ab4386a0f77eddf34ecdcc
BLAKE2b-256 62f297099d2bc256c3a90a827337d33446c83b5e5f15537253847cb6204d7dcb

See more details on using hashes here.

File details

Details for the file scheduleplus-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for scheduleplus-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8746639b6329d5279feacf9b8a2fdd4be4b93d86fdb1c55946ac06d413291fb3
MD5 578ddac0710fc71a11fda7abfaaa9436
BLAKE2b-256 e63212baf7edcffe51ec9d2ac9f56d8a8891e110d3d6c6572443cf77086441c2

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