Hello community, here is the log from the commit of package python-flower for openSUSE:Factory checked in at 2019-03-22 15:12:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-flower (Old) and /work/SRC/openSUSE:Factory/.python-flower.new.25356 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-flower" Fri Mar 22 15:12:34 2019 rev:2 rq:687612 version:0.9.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-flower/python-flower.changes 2019-02-27 15:06:00.870449464 +0100 +++ /work/SRC/openSUSE:Factory/.python-flower.new.25356/python-flower.changes 2019-03-22 15:12:41.053289130 +0100 @@ -1,0 +2,118 @@ +Fri Mar 22 01:59:49 UTC 2019 - John Vandenberg <[email protected]> + +- Remove no longer needed remove-faulty-test.patch +- Use backport_run_in_executor.patch to be compatible with Tornado 4 +- Increase minimum dependencies for celery >= 3.1.0 and Tornado >= 4.2.0 +- Update to v0.9.3 + * Fix numeric sort and sort ordering + * Support filtering tasks by received time + * Fix "not JSON serializable" `TypeError` for /api/task/info + * Fixed Auth redirect when -url_prefix is given + * OpenAPI 2.0 swagger spec initial commit + * Update tasks datatable to use POST method + * Fix hanging issues with tornado 5.0.0 + * Add 'signal' query parameter to endpoint /api/task/revoke + * Use parse_version instead of tuple comparisons + * /tasks endpoint fails with 500 + * Add links for parent and root jobs + * Make dropdown font colour white instead of grey + * Fix incorrect response body + * Removed some legacy code for Python 2.6 + * Document the GetQueueLengths API endpoint + * Enable broker support for redis+socket connections + * Fix docs for default inspect_timeout value + * Fix typo in Google OAuth 2 redirect uri env variable + * Upgrade tornado + * Fix the out-dated doc link in Worker.html + * Declare futures dependency using environment markers + * Fixing GitHub OAuth callback handling + * Correct spelling error + * Correct spelling and grammatical errors + * Switch away from Google+ OAuth2 + * restrict release dependencies with version upper-bound +- from v0.9.2 + * Add logout button + * Fix a bug in humanizing timestamps on the tasks page + * Handle errors in custom format_task functions + * Pending tasks don't have a worker + * Fix result encoding + * Removed 500px height limitation + * Do not show debug information on 500 error + * Fixed Python 3 mistake in Github Login Handler + * Support environment variables in tornado 4.2.0 and >=4.3 + * Fix XSS on tasks page + * Enable cross-origin websockets + * Fix bugreport + * Resolve relative config file names + * Fix broker api validation + * Loosen broker api validation + * Replace websokets with ajax + * Fix bug in tasks page template + * Fix celery version comparsion + * Refactor version comparision + * Fixes in config documents + * Fix invalid URL used for datatable query + * Use redis as default broker + * Update dashboard counters on worker table updates + * Move shut down group button to worker page + * Update navbar title + * Add a script for calling tasks + * Add a link to worker name + * Remove active task start time from worker page + * Fix py3 json serialization + * Fix Error 500 because task.worker is None + * HTML escape task args + * Disable broker cert verification + * Enable all tasks columns with --tasks-options=all + * Add runtime to default tasks columns + * Document --tasks-columns=all + * Refactor redis broker + * Support CELERY_QUEUES option + * Remove rabbitmq-plugins enable warning + * Fix broken link to celery configuration document +- from v0.9.1 + * Improve envvar handling + * By default update worker cache + * Fix task sorting for py3 + * Fix missing workername + * Fix monitor tab problem of missing graphs +- from v0.9.0 + * workers can be sorted and filtered + * tasks can be sorted, filtered by name, state, worker, runtime, etc. + * tasks columns can be reordered and customized + * tasks columns for worker, retries, revoked, expires, eta, etc. + * pagination of tasks + * GitHub Auth support + --max_workers option for limiting the number of workers + --unix_socket option for running with unix socket + * bug fixes + +------------------------------------------------------------------- +Wed Feb 20 08:09:01 UTC 2019 - John Vandenberg <[email protected]> + +- Remove flower-test_control.diff merged upstream +- Add remove-faulty-test.patch for useless test case +- Add more missing runtime dependencies Babel & pytz not covered by tests +- Update to v0.8.4 + * Fix /api/tasks #460 + * Disable tornado access logs + * Fix #462 + * Improve error handling for unsupported brokers + * Make sure Babel is at least 1.0 + * Updated a test to use assert_called_once_with + * Updating readme for OAuth + * The viewer tasks, has been enhanced to display the key word arguments + and arguments showing now indented way information + * Add logging.NullHandler backport #501 + * Fix github auth python3 support #498 + * Use timezone from celery settings if configured. + * Add option `unix_socket`, deploy on docker and expose the sock file + * Discover tests in tests/*.py + * Fix bug, `events.Task.as_dict` is new in `Celery 3.1.7` + * events.Task.as_dict is new in Celery 3.1.7 + * Refactor /api/tasks/ #515 + * Use pprint instead of ast #491 + * Define CELERY_ACCEPT_CONTENT for examples + * Fix task searching #480 + +------------------------------------------------------------------- Old: ---- flower-0.8.3.tar.gz flower-test_control.diff New: ---- backport_run_in_executor.patch flower-0.9.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-flower.spec ++++++ --- /var/tmp/diff_new_pack.q1mAER/_old 2019-03-22 15:12:44.945288630 +0100 +++ /var/tmp/diff_new_pack.q1mAER/_new 2019-03-22 15:12:44.961288628 +0100 @@ -17,27 +17,31 @@ Name: python-flower -Version: 0.8.3 +Version: 0.9.3 Release: 0 Summary: A web frontend for monitoring and administrating Celery clusters License: BSD-3-Clause Group: Development/Languages/Python URL: https://github.com/mher/flower Source: https://files.pythonhosted.org/packages/source/f/flower/flower-%{version}.tar.gz -Patch1: flower-test_control.diff -BuildRequires: %{python_module Babel} -BuildRequires: %{python_module celery >= 2.5.0} +# Tornado 5+ update blocked by salt, so backport the missing piece +Patch0: backport_run_in_executor.patch +BuildRequires: %{python_module Babel >= 1.0} +BuildRequires: %{python_module celery >= 3.1.0} BuildRequires: %{python_module certifi} BuildRequires: %{python_module kombu} BuildRequires: %{python_module mock} +BuildRequires: %{python_module pytest} BuildRequires: %{python_module pytz} BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module tornado >= 4.0.0} +BuildRequires: %{python_module tornado >= 4.2.0} BuildRequires: fdupes BuildRequires: python-futures -Requires: python-celery >= 2.5.0 +Requires: python-Babel >= 1.0 +Requires: python-celery >= 3.1.0 Requires: python-certifi -Requires: python-tornado >= 4.0.0 +Requires: python-pytz +Requires: python-tornado >= 4.2.0 Requires(post): update-alternatives Requires(postun): update-alternatives BuildArch: noarch @@ -51,7 +55,7 @@ %prep %setup -q -n flower-%{version} -%patch1 -p1 +%patch0 -p1 %build %python_build @@ -72,7 +76,7 @@ %files %{python_files} %license LICENSE -%doc AUTHORS CHANGES README.rst +%doc CHANGES README.rst %{python_sitelib}/* %python_alternative %{_bindir}/flower ++++++ backport_run_in_executor.patch ++++++ >From 5741cbcbc5c2a75c2552326018ee97b8fe5f257f Mon Sep 17 00:00:00 2001 From: John Vandenberg <[email protected]> Date: Fri, 22 Mar 2019 08:28:34 +0700 Subject: [PATCH] Backport run_in_executor --- flower/api/tasks.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/flower/api/tasks.py b/flower/api/tasks.py index 1f172422..f0395dea 100644 --- a/flower/api/tasks.py +++ b/flower/api/tasks.py @@ -78,6 +78,24 @@ def safe_result(self, result): return result +def inline_run_in_executor(func, *args): + from tornado.concurrent import Future, chain_future + + io_loop = IOLoop.current() + if not hasattr(io_loop, "_executor"): + import concurrent.futures + from tornado.process import cpu_count + + io_loop._executor = concurrent.futures.ThreadPoolExecutor( + max_workers=(cpu_count() * 5) + ) + executor = io_loop._executor + c_future = executor.submit(func, *args) + t_future = Future() + io_loop.add_future(c_future, lambda f: chain_future(f, t_future)) + return t_future + + class TaskApply(BaseTaskHandler): @web.authenticated @gen.coroutine @@ -138,8 +156,7 @@ def post(self, taskname): result = task.apply_async(args=args, kwargs=kwargs, **options) response = {'task-id': result.task_id} - response = yield IOLoop.current().run_in_executor( - None, self.wait_results, result, response) + response = yield inline_run_in_executor(self.wait_results, result, response) self.write(response) def wait_results(self, result, response): ++++++ flower-0.8.3.tar.gz -> flower-0.9.3.tar.gz ++++++ ++++ 14112 lines of diff (skipped)
