mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Introduce a new 'check_releases' RQ queue
This commit is contained in:
16
netbox/extras/management/commands/rqworker.py
Normal file
16
netbox/extras/management/commands/rqworker.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
from django.conf import settings
|
||||||
|
from django_rq.management.commands.rqworker import Command as _Command
|
||||||
|
|
||||||
|
|
||||||
|
class Command(_Command):
|
||||||
|
"""
|
||||||
|
Subclass django_rq's built-in rqworker to listen on all configured queues if none are specified (instead
|
||||||
|
of only the 'default' queue).
|
||||||
|
"""
|
||||||
|
def handle(self, *args, **options):
|
||||||
|
|
||||||
|
# If no queues have been specified on the command line, listen on all configured queues.
|
||||||
|
if len(args) < 1:
|
||||||
|
args = settings.RQ_QUEUES
|
||||||
|
|
||||||
|
super().handle(*args, **options)
|
@ -266,7 +266,6 @@ INSTALLED_APPS = [
|
|||||||
'corsheaders',
|
'corsheaders',
|
||||||
'debug_toolbar',
|
'debug_toolbar',
|
||||||
'django_filters',
|
'django_filters',
|
||||||
'django_rq',
|
|
||||||
'django_tables2',
|
'django_tables2',
|
||||||
'django_prometheus',
|
'django_prometheus',
|
||||||
'mptt',
|
'mptt',
|
||||||
@ -283,6 +282,7 @@ INSTALLED_APPS = [
|
|||||||
'users',
|
'users',
|
||||||
'utilities',
|
'utilities',
|
||||||
'virtualization',
|
'virtualization',
|
||||||
|
'django_rq', # Must come after extras to allow overriding management commands
|
||||||
'drf_yasg',
|
'drf_yasg',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -576,15 +576,17 @@ SWAGGER_SETTINGS = {
|
|||||||
# Django RQ (Webhooks backend)
|
# Django RQ (Webhooks backend)
|
||||||
#
|
#
|
||||||
|
|
||||||
RQ_QUEUES = {
|
if not TASKS_REDIS_USING_SENTINEL:
|
||||||
'default': {
|
RQ_PARAMS = {
|
||||||
'HOST': TASKS_REDIS_HOST,
|
'HOST': TASKS_REDIS_HOST,
|
||||||
'PORT': TASKS_REDIS_PORT,
|
'PORT': TASKS_REDIS_PORT,
|
||||||
'DB': TASKS_REDIS_DATABASE,
|
'DB': TASKS_REDIS_DATABASE,
|
||||||
'PASSWORD': TASKS_REDIS_PASSWORD,
|
'PASSWORD': TASKS_REDIS_PASSWORD,
|
||||||
'DEFAULT_TIMEOUT': TASKS_REDIS_DEFAULT_TIMEOUT,
|
'DEFAULT_TIMEOUT': TASKS_REDIS_DEFAULT_TIMEOUT,
|
||||||
'SSL': TASKS_REDIS_SSL,
|
'SSL': TASKS_REDIS_SSL,
|
||||||
} if not TASKS_REDIS_USING_SENTINEL else {
|
}
|
||||||
|
else:
|
||||||
|
RQ_PARAMS = {
|
||||||
'SENTINELS': TASKS_REDIS_SENTINELS,
|
'SENTINELS': TASKS_REDIS_SENTINELS,
|
||||||
'MASTER_NAME': TASKS_REDIS_SENTINEL_SERVICE,
|
'MASTER_NAME': TASKS_REDIS_SENTINEL_SERVICE,
|
||||||
'DB': TASKS_REDIS_DATABASE,
|
'DB': TASKS_REDIS_DATABASE,
|
||||||
@ -594,8 +596,11 @@ RQ_QUEUES = {
|
|||||||
'socket_connect_timeout': TASKS_REDIS_DEFAULT_TIMEOUT
|
'socket_connect_timeout': TASKS_REDIS_DEFAULT_TIMEOUT
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
RQ_QUEUES = {
|
||||||
|
'default': RQ_PARAMS, # Webhooks
|
||||||
|
'check_releases': RQ_PARAMS,
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Django debug toolbar
|
# Django debug toolbar
|
||||||
|
@ -10,7 +10,7 @@ from packaging import version
|
|||||||
logger = logging.getLogger('netbox.releases')
|
logger = logging.getLogger('netbox.releases')
|
||||||
|
|
||||||
|
|
||||||
@job
|
@job('check_releases')
|
||||||
def get_releases(pre_releases=False):
|
def get_releases(pre_releases=False):
|
||||||
url = settings.UPDATE_REPO_URL
|
url = settings.UPDATE_REPO_URL
|
||||||
headers = {
|
headers = {
|
||||||
|
Reference in New Issue
Block a user