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',
 | 
			
		||||
    'debug_toolbar',
 | 
			
		||||
    'django_filters',
 | 
			
		||||
    'django_rq',
 | 
			
		||||
    'django_tables2',
 | 
			
		||||
    'django_prometheus',
 | 
			
		||||
    'mptt',
 | 
			
		||||
@@ -283,6 +282,7 @@ INSTALLED_APPS = [
 | 
			
		||||
    'users',
 | 
			
		||||
    'utilities',
 | 
			
		||||
    'virtualization',
 | 
			
		||||
    'django_rq',  # Must come after extras to allow overriding management commands
 | 
			
		||||
    'drf_yasg',
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@@ -576,15 +576,17 @@ SWAGGER_SETTINGS = {
 | 
			
		||||
# Django RQ (Webhooks backend)
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
RQ_QUEUES = {
 | 
			
		||||
    'default': {
 | 
			
		||||
if not TASKS_REDIS_USING_SENTINEL:
 | 
			
		||||
    RQ_PARAMS = {
 | 
			
		||||
        'HOST': TASKS_REDIS_HOST,
 | 
			
		||||
        'PORT': TASKS_REDIS_PORT,
 | 
			
		||||
        'DB': TASKS_REDIS_DATABASE,
 | 
			
		||||
        'PASSWORD': TASKS_REDIS_PASSWORD,
 | 
			
		||||
        'DEFAULT_TIMEOUT': TASKS_REDIS_DEFAULT_TIMEOUT,
 | 
			
		||||
        'SSL': TASKS_REDIS_SSL,
 | 
			
		||||
    } if not TASKS_REDIS_USING_SENTINEL else {
 | 
			
		||||
    }
 | 
			
		||||
else:
 | 
			
		||||
    RQ_PARAMS = {
 | 
			
		||||
        'SENTINELS': TASKS_REDIS_SENTINELS,
 | 
			
		||||
        'MASTER_NAME': TASKS_REDIS_SENTINEL_SERVICE,
 | 
			
		||||
        'DB': TASKS_REDIS_DATABASE,
 | 
			
		||||
@@ -594,8 +596,11 @@ RQ_QUEUES = {
 | 
			
		||||
            'socket_connect_timeout': TASKS_REDIS_DEFAULT_TIMEOUT
 | 
			
		||||
        },
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
RQ_QUEUES = {
 | 
			
		||||
    'default': RQ_PARAMS,  # Webhooks
 | 
			
		||||
    'check_releases': RQ_PARAMS,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Django debug toolbar
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ from packaging import version
 | 
			
		||||
logger = logging.getLogger('netbox.releases')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@job
 | 
			
		||||
@job('check_releases')
 | 
			
		||||
def get_releases(pre_releases=False):
 | 
			
		||||
    url = settings.UPDATE_REPO_URL
 | 
			
		||||
    headers = {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user