crython is a lightweight task (function) scheduler using cron expressions written in python.
This module is currently under development.
To install crython, simply:
$ pip install crythonCrython supports seven fields (seconds, minutes, hours, day of month, month, weekday, year).
Call a function once a minute:
import crython
#Fire once a minute.
@crython.job(minute=0)
def foo():
print "... while heavy sack beatings are up a shocking nine hundred percent?"Call a function every ten seconds:
#Fire every 10 seconds.
@crython.job(second=range(0,60,10))
def foo():
print "I'm a big four-eyed lame-o and I wear the same stupid sweater every day."Call a function with a single cron expression:
#Fire every 10 seconds.
@crython.job(second='*/10')
def foo():
print "Hail to the thee Kamp Krusty..."Call functions with a full cron expression:
#Fire once a week.
@crython.job(expr='0 0 0 * * 0 *')
def foo():
print "Back in line, maggot!"Call functions with positional and/or keyword arguments:
#Fire every second.
@crython.job(second=0, 10, 20, name='Homer Simpson')
def sum(x, y, name):
print "Hello {0}. The sum is {1}".format(name, x+y)Call functions with predefined keywords:
#Fire once a day.
@crython.job(expr='@daily')
def foo():
print "That's where I saw the leprechaun. He tells me to burn things!"Start the global job scheduler:
if __name__ == '__main__':
crython.tab.start()- Keyword support (yearly, weekly, daily, etc)
- Support "L", "W" and "#" specials.
- Determine time delta from now -> next time expression is valid.
If you would like to contribute, simply fork the repository, push your changes and send a pull request.
Crython is available under the MIT license.
There are similar python cron libraries out there. See: pycron, python-crontab, cronex.
