Put maximum number of parallel SLO requests in config
This commit is contained in:
parent
99d27fe197
commit
bfcf410f26
2 changed files with 10 additions and 2 deletions
|
@ -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))
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue