Skip to main content

🕰 The command line tool for scheduling Python scripts

Project description

hickory

Travis Release PyPI Downloads

About

hickory is a command line tool for scheduling Python scripts. Though not a replacement for a Directed Acyclic Graph (DAG) workflow scheduler, it's well-suited for most tasks.

Support

hickory currently supports:

Operating System Scheduler
macOS launchd
Linux systemd
Windows

Install

hickory is installed at the command line:

pip install hickory

The development version can be installed with:

pip install git+https://github.com/maxhumber/hickory

Quickstart

Create a python script called foo.py:

# foo.py
import datetime
import time

stamp = datetime.datetime.now().strftime("%H:%M:%S")
time.sleep(5)

print(f"Foo - {stamp} + 5 seconds")

Schedule foo.py to execute every ten minutes:

hickory schedule foo.py --every=10minutes

Check the execution status of foo.py:

hickory status

Kill (stop and delete) the schedule for foo.py:

hickory kill foo.py

Logs

macOS - logs are stored in the same directory as the scheduled script:

tail -f hickory.log

Linux - logs are written to the journal:

journalctl -f

every Examples

Repeat to schedule input:

Repeat
Every ten minutes --every=10minutes
Every day at 10:10 AM --every=@10:10
Every Monday at 10:10 AM --every=monday@10:10am
Every 10th day of the month at 10:10 AM --every=10th@10:10am
Every last day of the month at 10:10 AM --every=eom@10:10am
Every 10th and last day of the month at 10 AM and 10 PM --every=10,eom@10,10pm

every Table

Schedule arguments:

Interval
10 seconds 10, 10s, 10sec, 10secs, 10seconds
10 minutes 10m, 10min, 10mins, 10minutes
10 hours 10h, 10hr, 10hrs, 10hours
Time
10:00 AM @10, @10am
10:00 PM @22, @10pm
10:10 AM @10:10, @10:10am
10:10 PM @22:10, @10:10pm
Weekday
Monday m@, mon@, monday@
Tuesday t@, tue@, tues@, tuesday@
Wednesday w@, wed@, weds@, wednesday@
Thursday th@, thu@, thur@, thurs@, thursday@
Friday f@, fri@, friday@
Saturday s@, sat@, saturday@
Sunday su@, sun@, sunday@
Calendar Day
1st 1@, 1st@
2nd 2@, 2nd@
3rd 3@, 3rd@
4th 4@, 4th@
15th 15@, 15th@
31st 31@, 31st@
Other Day
Every Day day@
Every Weekday weekday@
End of Month eom@

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

hickory-0.6.0.tar.gz (7.6 kB view hashes)

Uploaded Source

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