%global _empty_manifest_terminate_build 0 Name: python-crython Version: 0.2.0 Release: 1 Summary: Lightweight task scheduler using cron expressions. License: MIT URL: https://github.com/ahawker/crython Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6d/d3/ca918cb4b77e219784a23cdf81a88ed2265964a30e6d89023153665bdb0f/crython-0.2.0.tar.gz BuildArch: noarch %description |Join the chat at https://gitter.im/crython/Lobby| |Build Status| |Build status| |codecov| |Code Climate| |Issue Count| |PyPI version| |PyPI versions| |Stories in Ready| crython is a lightweight task (function) scheduler using `cron `__ expressions written in python. Status ~~~~~~ This module is actively maintained. Installation ~~~~~~~~~~~~ To install crython from `pip `__: $ pip install crython To install crython from source: $ git clone git@github.com:ahawker/crython.git $ python setup.py install Usage ~~~~~ Crython 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(second=0) def foo(): print "... while heavy sack beatings are up a shocking nine hundred percent? - Kent Brockman" 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. - Homer's Brain" 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... - Kampers" Call a function with a full cron expression: # Fire once a week. @crython.job(expr='0 0 0 * * 0 *') def foo(): print "Back in line, maggot! - Kearny" Call a function with positional and/or keyword arguments: # Fire every second. @job('safety gloves', second='*', name='Homer Simpson') def foo(item, name): print "Well, I don't need {0}, because I'm {1}. -- Grimey".format(item, name) Call a function using `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! - Ralph Wiggum" # Fire once immediately after scheduler starts. @crython.job(expr='@reboot') def foo(): print "I call the big one bitey. - Homer Simpson" Call a function and run it within a separate thread (default behaviour if ``ctx`` is not specified): # Fire once a week. @crython.job(expr='@weekly', ctx='thread') def foo(): print "No, no, dig up stupid. - Chief Wiggum" Call a function and run it within a separate process: # Fire every hour. @crython.job(expr='@hourly', ctx='multiprocess') def foo(): print "Eat my shorts. - Bart Simpson" Start the global job scheduler: if __name__ == '__main__': crython.start() Keywords ~~~~~~~~ +-----------------------+-----------------------+-----------------------+ | Entry | Description | Equivalent To | +=======================+=======================+=======================+ | @yearly/@annually | Run once a year at | 0 0 0 0 1 1 \* | | | midnight in the | | | | morning of January 1 | | +-----------------------+-----------------------+-----------------------+ | @monthly | Run once a month at | 0 0 0 0 1 \* \* | | | midnight in the | | | | morning of the first | | | | of the month | | +-----------------------+-----------------------+-----------------------+ | @weekly | Run once a week at | 0 0 0 0 \* 0 \* | | | midnight in the | | | | morning of Sunday | | +-----------------------+-----------------------+-----------------------+ | @daily | Run once a day at | 0 0 0 \* \* \* \* | | | midnight | | +-----------------------+-----------------------+-----------------------+ | @hourly | Run once an hour at | 0 0 \* \* \* \* \* | | | the beginning of the | | | | hour | | +-----------------------+-----------------------+-----------------------+ | @minutely | Run once a minute at | 0 \* \* \* \* \* \* | | | the beginning of the | | | | minute | | +-----------------------+-----------------------+-----------------------+ | @reboot | Run once at startup | @reboot | +-----------------------+-----------------------+-----------------------+ TODO ~~~~ - Support “L”, “W” and “#” specials. - Determine time delta from now -> next time expression is valid. Contributing ~~~~~~~~~~~~ If you would like to contribute, simply fork the repository, push your changes and send a pull request. License ~~~~~~~ Crython is available under the `MIT license `__. See Other ~~~~~~~~~ There are similar python cron libraries out there. See: `pycron `__, `python-crontab `__, `cronex `__. %package -n python3-crython Summary: Lightweight task scheduler using cron expressions. Provides: python-crython BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-crython |Join the chat at https://gitter.im/crython/Lobby| |Build Status| |Build status| |codecov| |Code Climate| |Issue Count| |PyPI version| |PyPI versions| |Stories in Ready| crython is a lightweight task (function) scheduler using `cron `__ expressions written in python. Status ~~~~~~ This module is actively maintained. Installation ~~~~~~~~~~~~ To install crython from `pip `__: $ pip install crython To install crython from source: $ git clone git@github.com:ahawker/crython.git $ python setup.py install Usage ~~~~~ Crython 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(second=0) def foo(): print "... while heavy sack beatings are up a shocking nine hundred percent? - Kent Brockman" 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. - Homer's Brain" 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... - Kampers" Call a function with a full cron expression: # Fire once a week. @crython.job(expr='0 0 0 * * 0 *') def foo(): print "Back in line, maggot! - Kearny" Call a function with positional and/or keyword arguments: # Fire every second. @job('safety gloves', second='*', name='Homer Simpson') def foo(item, name): print "Well, I don't need {0}, because I'm {1}. -- Grimey".format(item, name) Call a function using `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! - Ralph Wiggum" # Fire once immediately after scheduler starts. @crython.job(expr='@reboot') def foo(): print "I call the big one bitey. - Homer Simpson" Call a function and run it within a separate thread (default behaviour if ``ctx`` is not specified): # Fire once a week. @crython.job(expr='@weekly', ctx='thread') def foo(): print "No, no, dig up stupid. - Chief Wiggum" Call a function and run it within a separate process: # Fire every hour. @crython.job(expr='@hourly', ctx='multiprocess') def foo(): print "Eat my shorts. - Bart Simpson" Start the global job scheduler: if __name__ == '__main__': crython.start() Keywords ~~~~~~~~ +-----------------------+-----------------------+-----------------------+ | Entry | Description | Equivalent To | +=======================+=======================+=======================+ | @yearly/@annually | Run once a year at | 0 0 0 0 1 1 \* | | | midnight in the | | | | morning of January 1 | | +-----------------------+-----------------------+-----------------------+ | @monthly | Run once a month at | 0 0 0 0 1 \* \* | | | midnight in the | | | | morning of the first | | | | of the month | | +-----------------------+-----------------------+-----------------------+ | @weekly | Run once a week at | 0 0 0 0 \* 0 \* | | | midnight in the | | | | morning of Sunday | | +-----------------------+-----------------------+-----------------------+ | @daily | Run once a day at | 0 0 0 \* \* \* \* | | | midnight | | +-----------------------+-----------------------+-----------------------+ | @hourly | Run once an hour at | 0 0 \* \* \* \* \* | | | the beginning of the | | | | hour | | +-----------------------+-----------------------+-----------------------+ | @minutely | Run once a minute at | 0 \* \* \* \* \* \* | | | the beginning of the | | | | minute | | +-----------------------+-----------------------+-----------------------+ | @reboot | Run once at startup | @reboot | +-----------------------+-----------------------+-----------------------+ TODO ~~~~ - Support “L”, “W” and “#” specials. - Determine time delta from now -> next time expression is valid. Contributing ~~~~~~~~~~~~ If you would like to contribute, simply fork the repository, push your changes and send a pull request. License ~~~~~~~ Crython is available under the `MIT license `__. See Other ~~~~~~~~~ There are similar python cron libraries out there. See: `pycron `__, `python-crontab `__, `cronex `__. %package help Summary: Development documents and examples for crython Provides: python3-crython-doc %description help |Join the chat at https://gitter.im/crython/Lobby| |Build Status| |Build status| |codecov| |Code Climate| |Issue Count| |PyPI version| |PyPI versions| |Stories in Ready| crython is a lightweight task (function) scheduler using `cron `__ expressions written in python. Status ~~~~~~ This module is actively maintained. Installation ~~~~~~~~~~~~ To install crython from `pip `__: $ pip install crython To install crython from source: $ git clone git@github.com:ahawker/crython.git $ python setup.py install Usage ~~~~~ Crython 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(second=0) def foo(): print "... while heavy sack beatings are up a shocking nine hundred percent? - Kent Brockman" 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. - Homer's Brain" 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... - Kampers" Call a function with a full cron expression: # Fire once a week. @crython.job(expr='0 0 0 * * 0 *') def foo(): print "Back in line, maggot! - Kearny" Call a function with positional and/or keyword arguments: # Fire every second. @job('safety gloves', second='*', name='Homer Simpson') def foo(item, name): print "Well, I don't need {0}, because I'm {1}. -- Grimey".format(item, name) Call a function using `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! - Ralph Wiggum" # Fire once immediately after scheduler starts. @crython.job(expr='@reboot') def foo(): print "I call the big one bitey. - Homer Simpson" Call a function and run it within a separate thread (default behaviour if ``ctx`` is not specified): # Fire once a week. @crython.job(expr='@weekly', ctx='thread') def foo(): print "No, no, dig up stupid. - Chief Wiggum" Call a function and run it within a separate process: # Fire every hour. @crython.job(expr='@hourly', ctx='multiprocess') def foo(): print "Eat my shorts. - Bart Simpson" Start the global job scheduler: if __name__ == '__main__': crython.start() Keywords ~~~~~~~~ +-----------------------+-----------------------+-----------------------+ | Entry | Description | Equivalent To | +=======================+=======================+=======================+ | @yearly/@annually | Run once a year at | 0 0 0 0 1 1 \* | | | midnight in the | | | | morning of January 1 | | +-----------------------+-----------------------+-----------------------+ | @monthly | Run once a month at | 0 0 0 0 1 \* \* | | | midnight in the | | | | morning of the first | | | | of the month | | +-----------------------+-----------------------+-----------------------+ | @weekly | Run once a week at | 0 0 0 0 \* 0 \* | | | midnight in the | | | | morning of Sunday | | +-----------------------+-----------------------+-----------------------+ | @daily | Run once a day at | 0 0 0 \* \* \* \* | | | midnight | | +-----------------------+-----------------------+-----------------------+ | @hourly | Run once an hour at | 0 0 \* \* \* \* \* | | | the beginning of the | | | | hour | | +-----------------------+-----------------------+-----------------------+ | @minutely | Run once a minute at | 0 \* \* \* \* \* \* | | | the beginning of the | | | | minute | | +-----------------------+-----------------------+-----------------------+ | @reboot | Run once at startup | @reboot | +-----------------------+-----------------------+-----------------------+ TODO ~~~~ - Support “L”, “W” and “#” specials. - Determine time delta from now -> next time expression is valid. Contributing ~~~~~~~~~~~~ If you would like to contribute, simply fork the repository, push your changes and send a pull request. License ~~~~~~~ Crython is available under the `MIT license `__. See Other ~~~~~~~~~ There are similar python cron libraries out there. See: `pycron `__, `python-crontab `__, `cronex `__. %prep %autosetup -n crython-0.2.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-crython -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.2.0-1 - Package Spec generated