summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-periodiq.spec257
-rw-r--r--sources1
3 files changed, 259 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..43c3315 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/periodiq-0.12.1.tar.gz
diff --git a/python-periodiq.spec b/python-periodiq.spec
new file mode 100644
index 0000000..e890f5b
--- /dev/null
+++ b/python-periodiq.spec
@@ -0,0 +1,257 @@
+%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 <Python_Bot@openeuler.org> - 0.12.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..3a38084
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+5ca904df613c619858ffa4de95965a00 periodiq-0.12.1.tar.gz