mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 12:56:51 +00:00
commit
b04dc63742
@ -1207,12 +1207,17 @@ user_account_validated_redirect_url =
|
||||
# In case is not defined default value is false
|
||||
user_account_is_validated = false
|
||||
|
||||
# Defines the number of days we keep rows in the table "MetricsArchive"
|
||||
# Disable/Enable Metric Scheduler
|
||||
enable_metrics_scheduler = true
|
||||
# Defines the number of days we keep rows in the table "MetricArchive"
|
||||
# default value is 3 years
|
||||
retain_archive_metrics_days = 1095
|
||||
|
||||
# Defines the number of days we keep rows in the table "Metric" former "MappedMetric"
|
||||
retain_metrics_days = 367
|
||||
# Defines the number of rows we can process at once
|
||||
retain_metrics_move_limit = 50000
|
||||
# Defines the interval of the scheduler
|
||||
retain_metrics_scheduler_interval_in_seconds = 3600
|
||||
|
||||
#if same session used for different ip address, we can show this warning, default is false.
|
||||
show_ip_address_change_warning=false
|
||||
@ -684,8 +684,14 @@ class Boot extends MdcLoggable {
|
||||
case Full(i) => DatabaseDriverScheduler.start(i)
|
||||
case _ => // Do not start it
|
||||
}
|
||||
MetricsArchiveScheduler.start(intervalInSeconds = 86400)
|
||||
|
||||
|
||||
APIUtil.getPropsAsBoolValue("enable_metrics_scheduler", true) match {
|
||||
case true =>
|
||||
val interval =
|
||||
APIUtil.getPropsAsIntValue("retain_metrics_scheduler_interval_in_seconds", 3600)
|
||||
MetricsArchiveScheduler.start(intervalInSeconds = interval)
|
||||
case false => // Do not start it
|
||||
}
|
||||
|
||||
object UsernameLockedChecker {
|
||||
def beginServicing(session: LiftSession, req: Req){
|
||||
|
||||
@ -473,9 +473,13 @@ import net.liftweb.util.Helpers._
|
||||
//AuthUser.currentUser.get.user.foreign // this will be issue when the resource user is in remote side {
|
||||
val user = AuthUser.currentUser.openOrThrowException(ErrorMessages.attemptedToOpenAnEmptyBox)
|
||||
// In case that the provider is empty field we default to "local_identity_provider" or "hostname"
|
||||
val provider = if(user.provider.get.isEmpty) Constant.localIdentityProvider else user.provider.get
|
||||
val provider =
|
||||
if(user.provider.get == null || user.provider.get.isEmpty)
|
||||
Constant.localIdentityProvider
|
||||
else
|
||||
user.provider.get
|
||||
Users.users.vend.getUserByUserName(provider, user.username.get)
|
||||
}else if (directLogin.isDefined) // Direct Login
|
||||
} else if (directLogin.isDefined) // Direct Login
|
||||
DirectLogin.getUser
|
||||
else if (hasDirectLoginHeader(authorization)) // Direct Login Deprecated
|
||||
DirectLogin.getUser
|
||||
|
||||
@ -4,7 +4,7 @@ import java.util.concurrent.TimeUnit
|
||||
import java.util.{Calendar, Date}
|
||||
|
||||
import code.actorsystem.ObpLookupSystem
|
||||
import code.api.util.{APIUtil, OBPToDate}
|
||||
import code.api.util.{APIUtil, OBPLimit, OBPToDate}
|
||||
import code.metrics.{APIMetric, APIMetrics, MappedMetric, MetricArchive}
|
||||
import code.util.Helper.MdcLoggable
|
||||
import net.liftweb.common.Full
|
||||
@ -23,7 +23,7 @@ object MetricsArchiveScheduler extends MdcLoggable {
|
||||
def start(intervalInSeconds: Long): Unit = {
|
||||
logger.info("Hello from MetricsArchiveScheduler.start")
|
||||
scheduler.schedule(
|
||||
initialDelay = Duration(getMillisTillMidnight(), TimeUnit.MILLISECONDS),
|
||||
initialDelay = Duration(intervalInSeconds, TimeUnit.SECONDS),
|
||||
interval = Duration(intervalInSeconds, TimeUnit.SECONDS),
|
||||
runnable = new Runnable {
|
||||
def run(): Unit = {
|
||||
@ -57,9 +57,10 @@ object MetricsArchiveScheduler extends MdcLoggable {
|
||||
case _ => 60
|
||||
}
|
||||
val someDaysAgo: Date = new Date(currentTime.getTime - (oneDayInMillis * days))
|
||||
val limit = APIUtil.getPropsAsIntValue("retain_metrics_move_limit", 50000)
|
||||
// Get the data from the table "Metric" older than specified by retain_metrics_days
|
||||
logger.info("MetricsArchiveScheduler.conditionalDeleteMetricsRow says before candidateMetricRowsToMove val")
|
||||
val candidateMetricRowsToMove = APIMetrics.apiMetrics.vend.getAllMetrics(List(OBPToDate(someDaysAgo)))
|
||||
val candidateMetricRowsToMove = APIMetrics.apiMetrics.vend.getAllMetrics(List(OBPToDate(someDaysAgo), OBPLimit(limit)))
|
||||
logger.info("MetricsArchiveScheduler.conditionalDeleteMetricsRow says after candidateMetricRowsToMove val")
|
||||
logger.info(s"Number of rows: ${candidateMetricRowsToMove.length}")
|
||||
candidateMetricRowsToMove map { i =>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user