About
hickory is a simple command line tool for scheduling Python scripts.
Support
| Operating System | Scheduler |
|---|---|
| macOS | launchd |
| Linux | systemd |
| Windows | |
Install
pip install hickory
Quickstart
Create a file called 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 status of all queued schedules:
hickory status
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 | |
|---|---|
| Every ten minutes | --every=10minutes |
| Every day at 10:10 AM | [email protected]:10 |
| Every Monday at 10:10 AM | [email protected]:10am |
| Every 10th day of the month at 10:10 AM | [email protected]:10am |
| Every last day of the month at 10:10 AM | [email protected]:10am |
| Every 10th and last day of the month at 10 AM and 10 PM | --every=10,[email protected],10pm |
--every Table
| 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@ |
