%global _empty_manifest_terminate_build 0 Name: python-periodiq Version: 0.12.1 Release: 1 Summary: Simple Scheduler for Dramatiq Task Queue License: LGPL-3.0+ URL: https://pypi.org/project/periodiq/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9b/a0/d87974527c195078978b00d6f446fc35a0714d2ee8f7afbb3d94ab3255f5/periodiq-0.12.1.tar.gz BuildArch: noarch Requires: python3-dramatiq Requires: python3-pendulum %description # Simple Scheduler for Dramatiq Task Queue [dramatiq](https://dramatiq.io) task queue is great but lake a scheduler. This project fills the gap. ## Features - Cron-like scheduling. - Single process. - Fast and simple implementation. - Easy on ressources using SIGALRM. - No dependency except dramatiq ones. - CLI consistent with dramatiq. - Skip outdated message. ## Installation periodiq is licensed under LGPL 3.0+. ``` console $ pip install periodiq ``` Declare periodic tasks like this: ``` python # filename: app.py import dramatiq from periodiq import PeriodiqMiddleWare, cron broker.add_middleware(PeriodiqMiddleWare(skip_delay=30)) @dramatiq.actor(periodic=cron('0 * * * *)) def hourly(): # Do something each hour… ... ``` Then, run scheduler with: ``` console $ periodiq -v app [INFO] Starting Periodiq, a simple scheduler for Dramatiq. [INFO] Registered periodic actors: [INFO] [INFO] m h dom mon dow module:actor@queue [INFO] ------------------------ ------------------ [INFO] 0 * * * * app:hourly@default [INFO] ... ``` ## Support If you need help or found a bug, mind [opening a GitLab issue](https://gitlab.com/bersace/periodiq/issues/new) on the project. French and English spoken. %package -n python3-periodiq Summary: Simple Scheduler for Dramatiq Task Queue Provides: python-periodiq BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-periodiq # Simple Scheduler for Dramatiq Task Queue [dramatiq](https://dramatiq.io) task queue is great but lake a scheduler. This project fills the gap. ## Features - Cron-like scheduling. - Single process. - Fast and simple implementation. - Easy on ressources using SIGALRM. - No dependency except dramatiq ones. - CLI consistent with dramatiq. - Skip outdated message. ## Installation periodiq is licensed under LGPL 3.0+. ``` console $ pip install periodiq ``` Declare periodic tasks like this: ``` python # filename: app.py import dramatiq from periodiq import PeriodiqMiddleWare, cron broker.add_middleware(PeriodiqMiddleWare(skip_delay=30)) @dramatiq.actor(periodic=cron('0 * * * *)) def hourly(): # Do something each hour… ... ``` Then, run scheduler with: ``` console $ periodiq -v app [INFO] Starting Periodiq, a simple scheduler for Dramatiq. [INFO] Registered periodic actors: [INFO] [INFO] m h dom mon dow module:actor@queue [INFO] ------------------------ ------------------ [INFO] 0 * * * * app:hourly@default [INFO] ... ``` ## Support If you need help or found a bug, mind [opening a GitLab issue](https://gitlab.com/bersace/periodiq/issues/new) on the project. French and English spoken. %package help Summary: Development documents and examples for periodiq Provides: python3-periodiq-doc %description help # Simple Scheduler for Dramatiq Task Queue [dramatiq](https://dramatiq.io) task queue is great but lake a scheduler. This project fills the gap. ## Features - Cron-like scheduling. - Single process. - Fast and simple implementation. - Easy on ressources using SIGALRM. - No dependency except dramatiq ones. - CLI consistent with dramatiq. - Skip outdated message. ## Installation periodiq is licensed under LGPL 3.0+. ``` console $ pip install periodiq ``` Declare periodic tasks like this: ``` python # filename: app.py import dramatiq from periodiq import PeriodiqMiddleWare, cron broker.add_middleware(PeriodiqMiddleWare(skip_delay=30)) @dramatiq.actor(periodic=cron('0 * * * *)) def hourly(): # Do something each hour… ... ``` Then, run scheduler with: ``` console $ periodiq -v app [INFO] Starting Periodiq, a simple scheduler for Dramatiq. [INFO] Registered periodic actors: [INFO] [INFO] m h dom mon dow module:actor@queue [INFO] ------------------------ ------------------ [INFO] 0 * * * * app:hourly@default [INFO] ... ``` ## Support If you need help or found a bug, mind [opening a GitLab issue](https://gitlab.com/bersace/periodiq/issues/new) on the project. French and English spoken. %prep %autosetup -n periodiq-0.12.1 %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-periodiq -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.12.1-1 - Package Spec generated