%global _empty_manifest_terminate_build 0
Name:		python-huey
Version:	2.4.5
Release:	1
Summary:	huey, a little task queue
License:	None
URL:		http://github.com/coleifer/huey/
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/a7/2e/a1afc46dd8fadf43eaa7ca7232d1c766d444d636e840278bd1b6c2b6d873/huey-2.4.5.tar.gz
BuildArch:	noarch


%description
    from huey import RedisHuey, crontab
    huey = RedisHuey('my-app', host='redis.myapp.com')
    @huey.task()
    def add_numbers(a, b):
        return a + b
    @huey.task(retries=2, retry_delay=60)
    def flaky_task(url):
        # This task might fail, in which case it will be retried up to 2 times
        # with a delay of 60s between retries.
        return this_might_fail(url)
    @huey.periodic_task(crontab(minute='0', hour='3'))
    def nightly_backup():
        sync_all_data()
Calling a ``task``-decorated function will enqueue the function call for
execution by the consumer. A special result handle is returned immediately,
which can be used to fetch the result once the task is finished:
    >>> from demo import add_numbers
    >>> res = add_numbers(1, 2)
    >>> res
    <Result: task 6b6f36fc-da0d-4069-b46c-c0d4ccff1df6>
    >>> res()
    3
Tasks can be scheduled to run in the future:
    >>> res = add_numbers.schedule((2, 3), delay=10)  # Will be run in ~10s.
    >>> res(blocking=True)  # Will block until task finishes, in ~10s.
    5
For much more, check out the `guide <https://huey.readthedocs.io/en/latest/guide.html>`_
or take a look at the `example code <https://github.com/coleifer/huey/tree/master/examples/>`_.
Running the consumer
^^^^^^^^^^^^^^^^^^^^
Run the consumer with four worker processes:
    $ huey_consumer.py my_app.huey -k process -w 4
To run the consumer with a single worker thread (default):
    $ huey_consumer.py my_app.huey
If your work-loads are mostly IO-bound, you can run the consumer with threads
or greenlets instead. Because greenlets are so lightweight, you can run quite a
few of them efficiently:
    $ huey_consumer.py my_app.huey -k greenlet -w 32

%package -n python3-huey
Summary:	huey, a little task queue
Provides:	python-huey
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-huey
    from huey import RedisHuey, crontab
    huey = RedisHuey('my-app', host='redis.myapp.com')
    @huey.task()
    def add_numbers(a, b):
        return a + b
    @huey.task(retries=2, retry_delay=60)
    def flaky_task(url):
        # This task might fail, in which case it will be retried up to 2 times
        # with a delay of 60s between retries.
        return this_might_fail(url)
    @huey.periodic_task(crontab(minute='0', hour='3'))
    def nightly_backup():
        sync_all_data()
Calling a ``task``-decorated function will enqueue the function call for
execution by the consumer. A special result handle is returned immediately,
which can be used to fetch the result once the task is finished:
    >>> from demo import add_numbers
    >>> res = add_numbers(1, 2)
    >>> res
    <Result: task 6b6f36fc-da0d-4069-b46c-c0d4ccff1df6>
    >>> res()
    3
Tasks can be scheduled to run in the future:
    >>> res = add_numbers.schedule((2, 3), delay=10)  # Will be run in ~10s.
    >>> res(blocking=True)  # Will block until task finishes, in ~10s.
    5
For much more, check out the `guide <https://huey.readthedocs.io/en/latest/guide.html>`_
or take a look at the `example code <https://github.com/coleifer/huey/tree/master/examples/>`_.
Running the consumer
^^^^^^^^^^^^^^^^^^^^
Run the consumer with four worker processes:
    $ huey_consumer.py my_app.huey -k process -w 4
To run the consumer with a single worker thread (default):
    $ huey_consumer.py my_app.huey
If your work-loads are mostly IO-bound, you can run the consumer with threads
or greenlets instead. Because greenlets are so lightweight, you can run quite a
few of them efficiently:
    $ huey_consumer.py my_app.huey -k greenlet -w 32

%package help
Summary:	Development documents and examples for huey
Provides:	python3-huey-doc
%description help
    from huey import RedisHuey, crontab
    huey = RedisHuey('my-app', host='redis.myapp.com')
    @huey.task()
    def add_numbers(a, b):
        return a + b
    @huey.task(retries=2, retry_delay=60)
    def flaky_task(url):
        # This task might fail, in which case it will be retried up to 2 times
        # with a delay of 60s between retries.
        return this_might_fail(url)
    @huey.periodic_task(crontab(minute='0', hour='3'))
    def nightly_backup():
        sync_all_data()
Calling a ``task``-decorated function will enqueue the function call for
execution by the consumer. A special result handle is returned immediately,
which can be used to fetch the result once the task is finished:
    >>> from demo import add_numbers
    >>> res = add_numbers(1, 2)
    >>> res
    <Result: task 6b6f36fc-da0d-4069-b46c-c0d4ccff1df6>
    >>> res()
    3
Tasks can be scheduled to run in the future:
    >>> res = add_numbers.schedule((2, 3), delay=10)  # Will be run in ~10s.
    >>> res(blocking=True)  # Will block until task finishes, in ~10s.
    5
For much more, check out the `guide <https://huey.readthedocs.io/en/latest/guide.html>`_
or take a look at the `example code <https://github.com/coleifer/huey/tree/master/examples/>`_.
Running the consumer
^^^^^^^^^^^^^^^^^^^^
Run the consumer with four worker processes:
    $ huey_consumer.py my_app.huey -k process -w 4
To run the consumer with a single worker thread (default):
    $ huey_consumer.py my_app.huey
If your work-loads are mostly IO-bound, you can run the consumer with threads
or greenlets instead. Because greenlets are so lightweight, you can run quite a
few of them efficiently:
    $ huey_consumer.py my_app.huey -k greenlet -w 32

%prep
%autosetup -n huey-2.4.5

%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-huey -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Sun Apr 23 2023 Python_Bot <Python_Bot@openeuler.org> - 2.4.5-1
- Package Spec generated