def __init__(self, warnThreshold, warnDelay = 0): """Create a new warning strategy warnThreshold - Threshold at which the users should be warned warnDelay - user will be warned warnDelay before maximum usage time """ ManagementStrategy.__init__(self) self.warnedUsersNum = 0 self.warnThreshold = warnThreshold self.warnDelay = warnDelay self.requiredServices = ['notifyEvent', 'getFreePercentage', 'getUserBeforeMaxUsage']
def __init__(self, keepStateTimeout, minFreePercentage, maxFreePercentage = 1): """Creates a new instance of the strategy keepStateTimeout - duration (in seconds) between state change minFreePercentage - minimal percentage to keep free on the server maxFreePercentage - max allowed percentage after action """ ManagementStrategy.__init__(self) self.switchTime = None self.keepStateTimeout = keepStateTimeout self.minFreePercentage = minFreePercentage self.maxFreePercentage = maxFreePercentage self.when = None self._setWhen = False self.currentState = ApplicationState.INIT self.bannedUsers = [] self.idealState = ApplicationState.FREE self.requiredServices = ['resetUserUsage', 'getUserToBan', 'writeFlexOptFile', 'notifyEvent', 'scheduleServerReloadOnce', 'getFreePercentage', 'getTotalNumberOfUsers']