1
0
mirror of https://github.com/dkmstr/openuds.git synced 2024-12-22 13:34:04 +03:00

* Now cleanUDS cleans up possible locks also.

This command is designed to be executed with UDS backend stopped, so be
care!! :)
* Added deadLine calculation to ServicePool based on access calendars
This commit is contained in:
Adolfo Gómez García 2016-05-18 10:31:43 +02:00
parent c73dae361f
commit dbcdc84b3b
4 changed files with 41 additions and 4 deletions

View File

@ -37,6 +37,8 @@ from django.core.cache import cache
from uds.core.util.Config import GlobalConfig from uds.core.util.Config import GlobalConfig
from uds.core.util.Cache import Cache from uds.core.util.Cache import Cache
from uds.core.util.State import State
from uds.models import Scheduler
import logging import logging
import sys import sys
@ -52,9 +54,18 @@ class Command(BaseCommand):
sys.stdout.write("Cleaning up UDS\n") sys.stdout.write("Cleaning up UDS\n")
GlobalConfig.initialize() GlobalConfig.initialize()
sys.stdout.write("Cache...\n")
# UDSs cache # UDSs cache
Cache.cleanUp() Cache.cleanUp()
# Django caches # Django caches
cache.clear() cache.clear()
sys.stdout.write("UDS Cleaned UP\n") sys.stdout.write("Releasing schedulers...\n")
# Release all Schedulers
Scheduler.objects.all().update(owner_server='', state=State.FOR_EXECUTE)
sys.stdout.write("Reseting UDS Theme (setting to html5)...\n")
# Reset theme to html5
GlobalConfig.UDS_THEME.set('html5')
sys.stdout.write("UDS Cleaned UP\n")

View File

@ -57,10 +57,10 @@ from uds.models.Util import getSqlDatetime
from uds.core.util.calendar import CalendarChecker from uds.core.util.calendar import CalendarChecker
from datetime import timedelta from datetime import datetime, timedelta
import logging import logging
__updated__ = '2016-04-26' __updated__ = '2016-05-18'
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -207,6 +207,28 @@ class DeployedService(UUIDModel, TaggingMixin):
return access == states.action.ALLOW return access == states.action.ALLOW
def getDeadline(self, chkDateTime=None):
'''
Gets the deadline for an access on chkDateTime
'''
if chkDateTime is None:
chkDateTime = getSqlDatetime()
if self.isAccessAllowed(chkDateTime) is False:
return 0
deadLine = None
for ac in self.calendaraccess_set.all():
if ac.access == states.action.ALLOW:
nextE = CalendarChecker(ac.calendar).nextEvent(chkDateTime, False)
if deadLine is None or deadLine > nextE:
deadLine = nextE
if deadLine is None:
return None
return int((deadLine - chkDateTime).total_seconds())
def storeValue(self, name, value): def storeValue(self, name, value):
''' '''

File diff suppressed because one or more lines are too long

View File

@ -69,6 +69,9 @@ This states displays as default
padding-right: 2px; padding-right: 2px;
} }
.row-state-S {
color: gray;
}
@media (max-width: 768px) { @media (max-width: 768px) {
.label-tbl-button { .label-tbl-button {
@ -80,3 +83,4 @@ This states displays as default
} }
} }