public static string GetActiveTasks(Logging logging, long TaskGroupId, short TopCount)
        {
            logging.LogDebug("Get Active Tasks called.");
            TokenCredential StorageToken = new TokenCredential(Shared._AzureAuthenticationCredentialProvider.GetAzureRestApiToken(string.Format("https://{0}.blob.core.windows.net/", Shared._ApplicationOptions.TestingOptions.TaskMetaDataStorageAccount), Shared._ApplicationOptions.UseMSI));
            string          FileResult   = Shared.Azure.Storage.ReadFile(Shared._ApplicationOptions.TestingOptions.TaskMetaDataStorageAccount, Shared._ApplicationOptions.TestingOptions.TaskMetaDataStorageContainer, Shared._ApplicationOptions.TestingOptions.TaskMetaDataStorageFolder, "ActiveTasks.json", StorageToken);

            return(FileResult);
        }
        public static string GetActiveTasks(Logging logging, long TaskGroupId, short TopCount)
        {
            logging.LogDebug("Get Active Tasks called.");
            TokenCredential StorageToken = new TokenCredential(Shared.Azure.AzureSDK.GetAzureRestApiToken(string.Format("https://{0}.blob.core.windows.net/", Shared.GlobalConfigs.GetStringConfig("TaskMetaDataStorageAccount").ToString()), Shared.GlobalConfigs.GetBoolConfig("UseMSI")));
            string          FileResult   = Shared.Azure.Storage.ReadFile(Shared.GlobalConfigs.GetStringConfig("TaskMetaDataStorageAccount"), Shared.GlobalConfigs.GetStringConfig("TaskMetaDataStorageContainer"), Shared.GlobalConfigs.GetStringConfig("TaskMetaDataStorageFolder"), "ActiveTasks.json", StorageToken);

            return(FileResult);
        }
Exemple #3
0
        public static string GetTaskTypeMappingName(Logging logging, String MappingType, DataTable dt, int TaskTypeId, string SourceSystemType, string SourceType, string TargetSystemType, string TargetType, string TaskDatafactoryIR)
        {
            logging.LogDebug("Get TaskTypeMappingName called.");

            string _ex = string.Format("MappingType = '{6}' and SourceSystemType = '{0}' and SourceType = '{1}' and TargetSystemType = '{2}' and TargetType = '{3}' and TaskDatafactoryIR = '{4}' and TaskTypeId = {5}", SourceSystemType, SourceType, TargetSystemType, TargetType, TaskDatafactoryIR, TaskTypeId, MappingType);

            DataRow[] foundRows = dt.Select(_ex);

            if (foundRows.Count() > 1 || foundRows.Count() == 0)
            {
                throw new System.ArgumentException(string.Format("Invalid TypeMapping for SourceSystemType = '{0}' and SourceType = '{1}' and TargetSystemType = '{2}' and TargetType = '{3}' and TaskDatafactoryIR = '{4}'. Mapping returned: {5}", SourceSystemType, SourceType, TargetSystemType, TargetType, TaskDatafactoryIR, foundRows.Count()));
            }

            string TypeName = foundRows[0]["MappingName"].ToString();

            logging.LogDebug("Get TaskTypeMappingName complete.");

            return(TypeName);
        }
Exemple #4
0
        public static DataTable GetTaskTypeMapping(Logging logging)
        {
            logging.LogDebug("Load TaskTypeMapping called.");
            TaskMetaDataDatabase TMD   = new TaskMetaDataDatabase();
            dynamic resTaskTypeMapping = TMD.GetSqlConnection().QueryWithRetry(@"select * from [dbo].[TaskTypeMapping] Where ActiveYN = 1");

            DataTable dtTaskTypeMapping = new DataTable();

            dtTaskTypeMapping.Columns.Add(new DataColumn("TaskTypeId", typeof(int)));
            dtTaskTypeMapping.Columns.Add(new DataColumn("MappingType", typeof(string)));
            dtTaskTypeMapping.Columns.Add(new DataColumn("MappingName", typeof(string)));
            dtTaskTypeMapping.Columns.Add(new DataColumn("SourceSystemType", typeof(string)));
            dtTaskTypeMapping.Columns.Add(new DataColumn("SourceType", typeof(string)));
            dtTaskTypeMapping.Columns.Add(new DataColumn("TargetSystemType", typeof(string)));
            dtTaskTypeMapping.Columns.Add(new DataColumn("TargetType", typeof(string)));
            dtTaskTypeMapping.Columns.Add(new DataColumn("TaskDatafactoryIR", typeof(string)));

            foreach (dynamic _row in resTaskTypeMapping)
            {
                DataRow dr = dtTaskTypeMapping.NewRow();

                dr["TaskTypeId"]        = _row.TaskTypeId;
                dr["MappingType"]       = _row.MappingType;
                dr["MappingName"]       = _row.MappingName;
                dr["SourceSystemType"]  = _row.SourceSystemType;
                dr["SourceType"]        = _row.SourceType;
                dr["TargetSystemType"]  = _row.TargetSystemType;
                dr["TargetType"]        = _row.TargetType;
                dr["TaskDatafactoryIR"] = _row.TaskDatafactoryIR;

                dtTaskTypeMapping.Rows.Add(dr);
            }

            logging.LogDebug("Load TaskTypeMapping complete.");

            return(dtTaskTypeMapping);
        }
        /// <summary>
        /// Returns a list of long running pipelines. These will be checked to ensure that they are still in-progress.
        /// </summary>
        /// <param name="logging"></param>
        /// <returns></returns>
        public static short CountActivePipelines(Logging logging)
        {
            logging.LogDebug("Get CountActivePipelines called.");
            TaskMetaDataDatabase TMD = new TaskMetaDataDatabase();
            IEnumerable <short>  res = TMD.GetSqlConnection().QueryWithRetry <short>(@"
            
            Select 
            count(*) ActiveCount 
            from [dbo].[TaskInstance] 
            where LastExecutionStatus in ('InProgress',  'Queued') or (LastExecutionStatus in ('Untried',  'FailedRetry') and TaskRunnerId is not null)

            ");

            return(res.First());
        }
        public static dynamic GetLongRunningPipelines(Logging logging)
        {
            logging.LogDebug("Get GetActivePipelines called.");
            TaskMetaDataDatabase TMD = new TaskMetaDataDatabase();
            dynamic res = TMD.GetSqlConnection().QueryWithRetry(@"
            
            Select 
            * 
            from [dbo].[TaskInstanceExecution] 
            where Status in ('InProgress',  'Queued')
            and datediff(minute, StartDateTime, GetUtcDate()) > 30
            order by StartDateTime desc

            ");

            return(res);
        }