private IList <MLModelConfig> GetModelsNeedToBeTrained(UserConnection userConnection) { MaintenanceWindowUtils maintenanceWindowUtils = GetMaintenanceWindowUtils(userConnection); if (!maintenanceWindowUtils.IsDateInMaintenanceWindow(DateTime.UtcNow)) { _log.Debug("\tIt's not a maintenance window yet. Skipped new training"); return(new List <MLModelConfig>()); } return(_modelLoader.LoadReadyForTrainingModels(userConnection, DateTime.UtcNow)); }
private bool CheckBatchFrequency(IDataReader reader, UserConnection userConnection) { var now = DateTime.UtcNow; DateTime predictedOn = reader.GetColumnValue <DateTime>("BatchPredictedOn"); if (predictedOn != default(DateTime)) { DateTime plannedDate = predictedOn + _minimalBatchPredictionInterval; if (plannedDate > now) { return(false); } } MaintenanceWindowUtils maintenanceWindowUtils = GetMaintenanceWindowUtils(userConnection); return(maintenanceWindowUtils.IsDateInMaintenanceWindow(now)); }
private MaintenanceWindowUtils GetMaintenanceWindowUtils(UserConnection userConnection) { return(_maintenanceWindowUtils ?? (_maintenanceWindowUtils = ClassFactory.Get <MaintenanceWindowUtils>(new ConstructorArgument("userConnection", userConnection)))); }