mirror of
https://github.com/django-q2/django-q2.git
synced 2026-10-03 23:28:11 +08:00
Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1941f1e3f0 | ||
|
|
97ea3c89a5 | ||
|
|
b2651ce86c |
@@ -35,12 +35,18 @@ jobs:
|
|||||||
django:
|
django:
|
||||||
- "5.2"
|
- "5.2"
|
||||||
- "6.0"
|
- "6.0"
|
||||||
|
- "6.1"
|
||||||
exclude:
|
exclude:
|
||||||
# django 6.0 does not support earlier than 3.12
|
# django 6.0 does not support earlier than 3.12
|
||||||
- python-version: "3.10"
|
- python-version: "3.10"
|
||||||
django: "6.0"
|
django: "6.0"
|
||||||
- python-version: "3.11"
|
- python-version: "3.11"
|
||||||
django: "6.0"
|
django: "6.0"
|
||||||
|
# django 6.1 does not support earlier than 3.12
|
||||||
|
- python-version: "3.10"
|
||||||
|
django: "6.1"
|
||||||
|
- python-version: "3.11"
|
||||||
|
django: "6.1"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
mongodb:
|
mongodb:
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [v1.11.0](https://github.com/django-q2/django-q2/tree/v1.11.0) (2026-08-10)
|
||||||
|
|
||||||
|
- AttributeError when start_event is None, and guard process faster stop (#305) https://github.com/django-q2/django-q2/pull/305
|
||||||
|
- Add croniter as optional extra. (#336) https://github.com/django-q2/django-q2/pull/336
|
||||||
|
- Migrate poetry to uv (#337) https://github.com/django-q2/django-q2/pull/337
|
||||||
|
- Add support for python 3.13 and 3.14 (#338) https://github.com/django-q2/django-q2/pull/338
|
||||||
|
- Add django 6.1 support (#340) https://github.com/django-q2/django-q2/pull/340
|
||||||
|
- Postpone SECRET_KEY evaluation to the qcluster command execution (#332) https://github.com/django-q2/django-q2/pull/332
|
||||||
|
|
||||||
|
|
||||||
## [v1.10.0](https://github.com/django-q2/django-q2/tree/v1.10.0) (2026-05-01)
|
## [v1.10.0](https://github.com/django-q2/django-q2/tree/v1.10.0) (2026-05-01)
|
||||||
|
|
||||||
- fix: Fix incorrect signal import (#308) https://github.com/django-q2/django-q2/pull/308
|
- fix: Fix incorrect signal import (#308) https://github.com/django-q2/django-q2/pull/308
|
||||||
|
|||||||
+2
-2
@@ -35,13 +35,13 @@ See the `changelog <https://github.com/GDay/django-q2/blob/master/CHANGELOG.md>`
|
|||||||
Requirements
|
Requirements
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
- `Django <https://www.djangoproject.com>`__ 5.2 and 6.0
|
- `Django <https://www.djangoproject.com>`__ 5.2, 6.0 and 6.1
|
||||||
- `Django-picklefield <https://github.com/gintas/django-picklefield>`__
|
- `Django-picklefield <https://github.com/gintas/django-picklefield>`__
|
||||||
|
|
||||||
Tested with:
|
Tested with:
|
||||||
|
|
||||||
* Python 3.10 to 3.14.
|
* Python 3.10 to 3.14.
|
||||||
* Django 5.2 and 6.0.
|
* Django 5.2, 6.0 and 6.1.
|
||||||
|
|
||||||
Brokers
|
Brokers
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
VERSION = (1, 10, 0)
|
VERSION = (1, 11, 0)
|
||||||
|
|
||||||
__all__ = ["conf", "cluster", "models", "tasks"]
|
__all__ = ["conf", "cluster", "models", "tasks"]
|
||||||
|
|||||||
+7
-1
@@ -7,6 +7,7 @@ from multiprocessing import cpu_count
|
|||||||
from warnings import warn
|
from warnings import warn
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from django_q.queues import Queue
|
from django_q.queues import Queue
|
||||||
@@ -211,7 +212,12 @@ class Conf:
|
|||||||
|
|
||||||
# Use the secret key for package signing
|
# Use the secret key for package signing
|
||||||
# Django itself should raise an error if it's not configured
|
# Django itself should raise an error if it's not configured
|
||||||
SECRET_KEY = settings.SECRET_KEY
|
# but suppress the exception early to allow other parts of the app to still run.
|
||||||
|
# For example any "python manage.py ..." command still runs even if SECRET_KEY is not set.
|
||||||
|
try:
|
||||||
|
SECRET_KEY = settings.SECRET_KEY
|
||||||
|
except ImproperlyConfigured:
|
||||||
|
SECRET_KEY = None
|
||||||
|
|
||||||
# The redis stats key
|
# The redis stats key
|
||||||
Q_STAT = f"django_q:{PREFIX}:cluster"
|
Q_STAT = f"django_q:{PREFIX}:cluster"
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from django.core.management.base import BaseCommand
|
from django.core.management.base import BaseCommand
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
@@ -28,6 +29,8 @@ class Command(BaseCommand):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
|
# Ensure that the cluster starts only if the SECRET_KEY is set, as it is required for signing.
|
||||||
|
settings.SECRET_KEY
|
||||||
# Set alternative cluster_name before creating the cluster (cluster_name is broker's queue_name, too)
|
# Set alternative cluster_name before creating the cluster (cluster_name is broker's queue_name, too)
|
||||||
cluster_name = options.get("cluster_name")
|
cluster_name = options.get("cluster_name")
|
||||||
if cluster_name:
|
if cluster_name:
|
||||||
|
|||||||
+2
-2
@@ -73,9 +73,9 @@ author = "Ilan Steemers, Stan Triepels"
|
|||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = "1.10"
|
version = "1.11"
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = "1.10.0"
|
release = "1.11.0"
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@ Features
|
|||||||
- Rollbar and Sentry support
|
- Rollbar and Sentry support
|
||||||
|
|
||||||
|
|
||||||
Django Q2 is tested with: Python 3.8, 3.9, 3.10, 3.11 and 3.12. Works with Django 4.2.x, 5.x and 6.0.x
|
Django Q2 is tested with: python 3.10, 3.11, 3.12, 3.13 and 3.14. Works with Django 5.2, 6.0 and 6.1
|
||||||
|
|
||||||
Currently available in English, German and French.
|
Currently available in English, German and French.
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "django-q2"
|
name = "django-q2"
|
||||||
version = "1.10.0"
|
version = "1.11.0"
|
||||||
packages = [
|
packages = [
|
||||||
{ include = "django_q" },
|
{ include = "django_q" },
|
||||||
]
|
]
|
||||||
@@ -33,11 +33,11 @@ classifiers = [
|
|||||||
"Operating System :: MacOS",
|
"Operating System :: MacOS",
|
||||||
"Programming Language :: Python",
|
"Programming Language :: Python",
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
"Programming Language :: Python :: 3.9",
|
|
||||||
"Programming Language :: Python :: 3.10",
|
"Programming Language :: Python :: 3.10",
|
||||||
"Programming Language :: Python :: 3.11",
|
"Programming Language :: Python :: 3.11",
|
||||||
"Programming Language :: Python :: 3.12",
|
"Programming Language :: Python :: 3.12",
|
||||||
"Programming Language :: Python :: 3.13",
|
"Programming Language :: Python :: 3.13",
|
||||||
|
"Programming Language :: Python :: 3.14",
|
||||||
"Topic :: Internet :: WWW/HTTP",
|
"Topic :: Internet :: WWW/HTTP",
|
||||||
"Topic :: System :: Distributed Computing",
|
"Topic :: System :: Distributed Computing",
|
||||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||||
|
|||||||
Reference in New Issue
Block a user