Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-django-rq for
openSUSE:Factory checked in at 2023-02-10 14:36:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-rq (Old)
and /work/SRC/openSUSE:Factory/.python-django-rq.new.1848 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-rq"
Fri Feb 10 14:36:10 2023 rev:3 rq:1064214 version:2.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-rq/python-django-rq.changes
2023-01-04 20:18:35.745630047 +0100
+++
/work/SRC/openSUSE:Factory/.python-django-rq.new.1848/python-django-rq.changes
2023-02-10 14:36:19.258279283 +0100
@@ -1,0 +2,8 @@
+Fri Feb 10 10:30:19 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 2.7.0:
+ * Able to show multiple execution results for each job
+ (requires RQ v1.12).
+ * Various admin interface improvements.
+
+-------------------------------------------------------------------
Old:
----
django-rq-2.6.0.tar.gz
New:
----
django-rq-2.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-rq.spec ++++++
--- /var/tmp/diff_new_pack.Mmki4C/_old 2023-02-10 14:36:19.646281601 +0100
+++ /var/tmp/diff_new_pack.Mmki4C/_new 2023-02-10 14:36:19.646281601 +0100
@@ -19,7 +19,7 @@
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-django-rq
-Version: 2.6.0
+Version: 2.7.0
Release: 0
Summary: Simple app that provides django integration for RQ (Redis
Queue)
License: MIT
++++++ django-rq-2.6.0.tar.gz -> django-rq-2.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-rq-2.6.0/.github/workflows/test.yml
new/django-rq-2.7.0/.github/workflows/test.yml
--- old/django-rq-2.6.0/.github/workflows/test.yml 2022-11-05
03:01:04.000000000 +0100
+++ new/django-rq-2.7.0/.github/workflows/test.yml 2023-02-07
12:10:27.000000000 +0100
@@ -16,7 +16,7 @@
name: Python${{ matrix.python-version }}/Django${{ matrix.django-version }}
strategy:
matrix:
- python-version: ["3.8.3", "3.9", "3.10"]
+ python-version: ["3.8", "3.9", "3.10"]
django-version: ["3.2.16", "4.0.8", "4.1.3"]
steps:
@@ -38,4 +38,4 @@
- name: Run Test
run: |
- `which django-admin` test django_rq
--settings=django_rq.tests.settings --pythonpath=.
\ No newline at end of file
+ `which django-admin` test django_rq
--settings=django_rq.tests.settings --pythonpath=.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-rq-2.6.0/CHANGELOG.md
new/django-rq-2.7.0/CHANGELOG.md
--- old/django-rq-2.6.0/CHANGELOG.md 2022-11-05 03:01:04.000000000 +0100
+++ new/django-rq-2.7.0/CHANGELOG.md 2023-02-07 12:10:27.000000000 +0100
@@ -1,4 +1,8 @@
-# Version 2.5.2 (2022-11-05)
+# Version 2.7.0 (2023-02-07)
+* Able to show multiple execution results for each job (requires RQ v1.12).
Thanks @selwin!
+* Various admin interface improvements. Thanks @selwin!
+
+# Version 2.6.0 (2022-11-05)
* Added `--max-jobs` argument to `rqworker` management command. Thanks
@arpit-goel!
* Remove job from `ScheduledJobRegistry` if a scheduled job is enqueued from
admin. Thanks @robertaistleitner!
* Minor code cleanup. Thanks @reybog90!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-rq-2.6.0/README.rst
new/django-rq-2.7.0/README.rst
--- old/django-rq-2.6.0/README.rst 2022-11-05 03:01:04.000000000 +0100
+++ new/django-rq-2.7.0/README.rst 2023-02-07 12:10:27.000000000 +0100
@@ -80,12 +80,6 @@
.. code-block:: python
- # For Django < 2.0
- urlpatterns += [
- url(r'^django-rq/', include('django_rq.urls')),
- ]
-
- # For Django >= 2.0
urlpatterns += [
path('django-rq/', include('django_rq.urls'))
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-rq-2.6.0/django_rq/__init__.py
new/django-rq-2.7.0/django_rq/__init__.py
--- old/django-rq-2.6.0/django_rq/__init__.py 2022-11-05 03:01:04.000000000
+0100
+++ new/django-rq-2.7.0/django_rq/__init__.py 2023-02-07 12:10:27.000000000
+0100
@@ -1,4 +1,4 @@
-VERSION = (2, 6, 0)
+VERSION = (2, 7, 0)
from .decorators import job
from .queues import enqueue, get_connection, get_queue, get_scheduler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-rq-2.6.0/django_rq/templates/django_rq/job_detail.html
new/django-rq-2.7.0/django_rq/templates/django_rq/job_detail.html
--- old/django-rq-2.6.0/django_rq/templates/django_rq/job_detail.html
2022-11-05 03:01:04.000000000 +0100
+++ new/django-rq-2.7.0/django_rq/templates/django_rq/job_detail.html
2023-02-07 12:10:27.000000000 +0100
@@ -1,4 +1,4 @@
-{% extends "admin/base_site.html" %}
+{% extends "admin/change_list.html" %}
{% load static django_rq %}
@@ -27,7 +27,7 @@
</div>
{% endblock %}
-{% block content_title %}<h1>Job Info</h1>{% endblock %}
+{% block content_title %}<h2>Job {{ job.id }}</h2>{% endblock %}
{% block content %}
@@ -37,37 +37,30 @@
<div class="form-row">
<div>
- <label class="required">ID:</label>
- <div class="data">{{ job.id }}</div>
+ <label>Queue:</label>
+ <div class="readonly">{{ job.origin }}</div>
</div>
</div>
<div class="form-row">
<div>
- <label class="required">Queue:</label>
- <div class="data">{{ job.origin }}</div>
+ <label>Timeout:</label>
+ <div class="readonly">{{ job.timeout }}</div>
</div>
</div>
<div class="form-row">
<div>
- <label class="required">Timeout:</label>
- <div class="data">{{ job.timeout }}</div>
- </div>
- </div>
-
- <div class="form-row">
- <div>
- <label class="required">Result TTL:</label>
- <div class="data">{{ job.result_ttl }}</div>
+ <label>Result TTL:</label>
+ <div class="readonly">{{ job.result_ttl }}</div>
</div>
</div>
{% if job.created_at %}
<div class="form-row">
<div>
- <label class="required">Created:</label>
- <div class="data">{{ job.created_at|to_localtime|date:"Y-m-d,
H:i:s" }}</div>
+ <label>Created:</label>
+ <div class="readonly">{{
job.created_at|to_localtime|date:"Y-m-d, H:i:s" }}</div>
</div>
</div>
{% endif %}
@@ -75,8 +68,8 @@
{% if job.enqueued_at %}
<div class="form-row">
<div>
- <label class="required">Queued:</label>
- <div class="data">{{ job.enqueued_at|to_localtime|date:"Y-m-d,
H:i:s" }}</div>
+ <label>Queued:</label>
+ <div class="readonly">{{
job.enqueued_at|to_localtime|date:"Y-m-d, H:i:s" }}</div>
</div>
</div>
{% endif %}
@@ -84,8 +77,8 @@
{% if job.started_at %}
<div class="form-row">
<div>
- <label class="required">Started:</label>
- <div class="data">{{ job.started_at|to_localtime|date:"Y-m-d,
H:i:s" }}</div>
+ <label>Started:</label>
+ <div class="readonly">{{
job.started_at|to_localtime|date:"Y-m-d, H:i:s" }}</div>
</div>
</div>
{% endif %}
@@ -93,37 +86,37 @@
{% if job.ended_at %}
<div class="form-row">
<div>
- <label class="required">Ended:</label>
- <div class="data">{{ job.ended_at|to_localtime|date:"Y-m-d,
H:i:s" }}</div>
+ <label>Ended:</label>
+ <div class="readonly">{{
job.ended_at|to_localtime|date:"Y-m-d, H:i:s" }}</div>
</div>
</div>
{% endif %}
<div class="form-row">
<div>
- <label class="required">Status:</label>
- <div class="data">{{ job.get_status }}</div>
+ <label>Status:</label>
+ <div class="readonly">{{ job.get_status }}</div>
</div>
</div>
<div class="form-row">
<div>
- <label class="required">Callable:</label>
- <div class="data">{{ job|show_func_name }}</div>
+ <label>Callable:</label>
+ <div class="readonly">{{ job|show_func_name }}</div>
</div>
</div>
<div class="form-row">
<div>
- <label class="required">Meta:</label>
+ <label>Meta:</label>
<div class="data">{{ job.meta }}</div>
</div>
</div>
<div class="form-row">
<div>
- <label class="required">Args:</label>
- <div class="data">
+ <label>Args:</label>
+ <div>
{% if data_is_valid %}
{% if job.args %}
<ul>
@@ -141,8 +134,8 @@
<div class="form-row">
<div>
- <label class="required">Kwargs:</label>
- <div class="data">
+ <label>Kwargs:</label>
+ <div>
{% if data_is_valid %}
{% if job.kwargs %}
<ul>
@@ -160,8 +153,8 @@
<div class="form-row">
<div>
- <label class="required">Depends On:</label>
- <div class="data">
+ <label>Depends On:</label>
+ <div class="readonly">
{% if dependency_id %}
<a href = "{% url 'rq_job_detail' queue_index
dependency_id %}">
{{ dependency_id }}
@@ -170,23 +163,26 @@
</div>
</div>
</div>
-
-
- <div class="form-row">
- <div>
- <label class="required">Exception:</label>
- <div class="data"><pre>{% if job.exc_info %}{{
job.exc_info|linebreaks }}{% endif %}</pre></div>
+ {% if exc_info %}
+ <div class="form-row">
+ <div>
+ <label>Exception:</label>
+ <div><pre>{% if job.exc_info %}{{ job.exc_info|linebreaks
}}{% endif %}</pre></div>
+ </div>
</div>
- </div>
-
+ {% endif %}
+
+ {% if job.legacy_result %}
<div class="form-row">
<div>
- <label class="required">Result:</label>
- <div class="data">{{ job.result }}</div>
+ <label>Result:</label>
+ <div>{{ job.result }}</div>
</div>
</div>
+ {% endif %}
</fieldset>
+
<div class="submit-row">
<p class="deletelink-box"><a href="delete/"
class="deletelink">Delete</a></p>
@@ -204,6 +200,48 @@
{% endif %}
</div>
+
+ <div class="inline-group" id="choice_set-group">
+
+ {% for result in job.results %}
+ <h2>Result {{ result.id }}</h2>
+ <div class="inline-related">
+
+ <fieldset class="module aligned ">
+ <div class="form-row field-choice_text">
+ <div>
+ <label>Type:</label>
+ <div class="readonly">{{ result.type.name }}</div>
+ </div>
+ </div>
+
+ <div class="form-row field-votes">
+ <div>
+ <label>Created at: {{ result.Type }}</label>
+ <div class="readonly">{{
result.created_at|to_localtime|date:"Y-m-d, H:i:s" }}</div>
+ </div>
+ </div>
+ {% if result.type.value == 1 %}
+ <div class="form-row field-votes">
+ <div>
+ <label>Return value:</label>
+ <div><pre>{{ result.return_value }}</pre></div>
+ </div>
+ </div>
+ {% elif result.type.value == 2 %}
+ <div class="form-row field-votes">
+ <div>
+ <label>Exception:</label>
+ <div><pre>{{ result.exc_string }}</pre></div>
+ </div>
+ </div>
+ {% endif %}
+
+ </fieldset>
+ </div>
+ {% endfor %}
+ </div>
+
</div>
{% endblock %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-rq-2.6.0/django_rq/views.py
new/django-rq-2.7.0/django_rq/views.py
--- old/django-rq-2.6.0/django_rq/views.py 2022-11-05 03:01:04.000000000
+0100
+++ new/django-rq-2.7.0/django_rq/views.py 2023-02-07 12:10:27.000000000
+0100
@@ -315,6 +315,7 @@
def job_detail(request, queue_index, job_id):
queue_index = int(queue_index)
queue = get_queue_by_index(queue_index)
+
try:
job = Job.fetch(job_id, connection=queue.connection)
except NoSuchJobError:
@@ -326,13 +327,24 @@
except:
data_is_valid = False
+ # Backward compatibility support for RQ < 1.12.0
+ rv = job.connection.hget(job.key, 'result')
+ if rv is not None:
+ # cache the result
+ job.legacy_result = job.serializer.loads(rv)
+ try:
+ exc_info = job._exc_info
+ except AttributeError:
+ exc_info = None
+
context_data = {
**admin.site.each_context(request),
'queue_index': queue_index,
'job': job,
'dependency_id': job._dependency_id,
'queue': queue,
- 'data_is_valid': data_is_valid
+ 'data_is_valid': data_is_valid,
+ 'exc_info': exc_info,
}
return render(request, 'django_rq/job_detail.html', context_data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-rq-2.6.0/integration_test/requirements.txt
new/django-rq-2.7.0/integration_test/requirements.txt
--- old/django-rq-2.6.0/integration_test/requirements.txt 2022-11-05
03:01:04.000000000 +0100
+++ new/django-rq-2.7.0/integration_test/requirements.txt 2023-02-07
12:10:27.000000000 +0100
@@ -1,5 +1,5 @@
-e ..
-Django==3.2.16
+Django==3.2.17
gunicorn==20.1.0
psycopg2==2.9.5
-requests==2.28.1
+requests==2.28.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-rq-2.6.0/setup.py new/django-rq-2.7.0/setup.py
--- old/django-rq-2.6.0/setup.py 2022-11-05 03:01:04.000000000 +0100
+++ new/django-rq-2.7.0/setup.py 2023-02-07 12:10:27.000000000 +0100
@@ -3,7 +3,7 @@
setup(
name='django-rq',
- version='2.6.0',
+ version='2.7.0',
author='Selwin Ong',
author_email='[email protected]',
packages=['django_rq'],
@@ -16,7 +16,7 @@
package_data={'': ['README.rst']},
install_requires=['django>=2.0', 'rq>=1.2', 'redis>=3'],
extras_require={
- 'Sentry': ['raven>=6.1.0'],
+ 'Sentry': ['raven>=6.1.0'],
'testing': ['mock>=2.0.0'],
},
classifiers=[
@@ -36,5 +36,5 @@
'Programming Language :: Python :: 3.8',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Software Development :: Libraries :: Python Modules',
- ]
+ ],
)