Put maximum number of parallel SLO requests in config
This commit is contained in:
		@@ -56,6 +56,10 @@ setting_default('CAS_PROXY_GRANTING_TICKET_PREFIX', 'PGT')
 | 
				
			|||||||
# Services MUST be able to handle PGTIOUs of up to 64 characters in length.
 | 
					# Services MUST be able to handle PGTIOUs of up to 64 characters in length.
 | 
				
			||||||
setting_default('CAS_PROXY_GRANTING_TICKET_IOU_PREFIX', 'PGTIOU')
 | 
					setting_default('CAS_PROXY_GRANTING_TICKET_IOU_PREFIX', 'PGTIOU')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Maximum number of parallel single log out requests send
 | 
				
			||||||
 | 
					# if more requests need to be send, there are queued
 | 
				
			||||||
 | 
					setting_default('CAS_SLO_MAX_PARALLEL_REQUESTS', 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setting_default('CAS_SQL_HOST', 'localhost')
 | 
					setting_default('CAS_SQL_HOST', 'localhost')
 | 
				
			||||||
setting_default('CAS_SQL_USERNAME', '')
 | 
					setting_default('CAS_SQL_USERNAME', '')
 | 
				
			||||||
setting_default('CAS_SQL_PASSWORD', '')
 | 
					setting_default('CAS_SQL_PASSWORD', '')
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -67,7 +67,9 @@ class User(models.Model):
 | 
				
			|||||||
    def logout(self, request=None):
 | 
					    def logout(self, request=None):
 | 
				
			||||||
        """Sending SLO request to all services the user logged in"""
 | 
					        """Sending SLO request to all services the user logged in"""
 | 
				
			||||||
        async_list = []
 | 
					        async_list = []
 | 
				
			||||||
        session = FuturesSession(executor=ThreadPoolExecutor(max_workers=10))
 | 
					        session = FuturesSession(
 | 
				
			||||||
 | 
					            executor=ThreadPoolExecutor(max_workers=settings.CAS_SLO_MAX_PARALLEL_REQUESTS)
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
        # first invalidate all Tickets
 | 
					        # first invalidate all Tickets
 | 
				
			||||||
        ticket_classes = [ProxyGrantingTicket, ServiceTicket, ProxyTicket]
 | 
					        ticket_classes = [ProxyGrantingTicket, ServiceTicket, ProxyTicket]
 | 
				
			||||||
        for ticket_class in ticket_classes:
 | 
					        for ticket_class in ticket_classes:
 | 
				
			||||||
@@ -357,7 +359,9 @@ class Ticket(models.Model):
 | 
				
			|||||||
        # sending SLO to timed-out validated tickets
 | 
					        # sending SLO to timed-out validated tickets
 | 
				
			||||||
        if cls.TIMEOUT and cls.TIMEOUT > 0:
 | 
					        if cls.TIMEOUT and cls.TIMEOUT > 0:
 | 
				
			||||||
            async_list = []
 | 
					            async_list = []
 | 
				
			||||||
            session = FuturesSession(executor=ThreadPoolExecutor(max_workers=10))
 | 
					            session = FuturesSession(
 | 
				
			||||||
 | 
					                executor=ThreadPoolExecutor(max_workers=settings.CAS_SLO_MAX_PARALLEL_REQUESTS)
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
            queryset = cls.objects.filter(
 | 
					            queryset = cls.objects.filter(
 | 
				
			||||||
                creation__lt=(timezone.now() - timedelta(seconds=cls.TIMEOUT))
 | 
					                creation__lt=(timezone.now() - timedelta(seconds=cls.TIMEOUT))
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user