Esempio n. 1
0
 private static T[] IConfigurableArrayTo <T>(IConfigurable[] configurables) where T : IConfigurable
 {
     T[] array = new T[configurables.Length];
     for (int i = 0; i < configurables.Length; i++)
     {
         array[i] = BackgroundJobBackendSession.IConfigurableToT <T>(configurables[i]);
     }
     return(array);
 }
Esempio n. 2
0
        public BackgroundJobMgrInstance FindSchedulerInstance(Guid roleId, DateTime heartbeatThreshold, Regions region, long?datacenter = null)
        {
            QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, BackgroundJobBackendSession.RoleIdQueryProperty, roleId),
                new ComparisonFilter(ComparisonOperator.Equal, BackgroundJobBackendSession.heartbeatDatetimeThresholdQueryProperty, heartbeatThreshold),
                new ComparisonFilter(ComparisonOperator.Equal, BackgroundJobBackendSession.RegionSelectionSetQueryProperty, region),
                new ComparisonFilter(ComparisonOperator.Equal, BackgroundJobBackendSession.DataCenterIdQueryProperty, datacenter)
            });

            IConfigurable[] array = this.dataProvider.Find <BackgroundJobMgrInstance>(filter, null, false, null);
            if (array == null || array.Length == 0)
            {
                return(null);
            }
            return(BackgroundJobBackendSession.IConfigurableToT <BackgroundJobMgrInstance>(array[0]));
        }