public IPagedReader <AsyncQueueRequest> GetAsyncQueueRequests(string ownerId, AsyncQueuePriority?priority = null, AsyncQueueStatus?status = null, DateTime?minCreationTime = null, DateTime?maxCreationTime = null, int pageSize = 100) { if (string.IsNullOrWhiteSpace(ownerId)) { throw new ArgumentNullException("ownerId"); } QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(AsyncQueueRequestSchema.OwnerIdProperty, ownerId), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.PageSizeQueryProperty, pageSize) }); if (priority != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueRequestSchema.PriorityProperty, (byte)priority.Value) }); } if (minCreationTime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.MinCreationDateTimeQueryProperty, minCreationTime) }); } if (maxCreationTime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.MaxCreationDateTimeQueryProperty, maxCreationTime) }); } if (status != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueRequestSchema.RequestStatusProperty, status) }); } List <IPagedReader <AsyncQueueRequest> > list = new List <IPagedReader <AsyncQueueRequest> >(); foreach (object propertyValue in ((IPartitionedDataProvider)this.dataProviderDirectory).GetAllPhysicalPartitions()) { list.Add(new ConfigDataProviderPagedReader <AsyncQueueRequest>(this.dataProviderDirectory, null, QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(DalHelper.PhysicalInstanceKeyProp, propertyValue), queryFilter }), null, pageSize)); } return(new CompositePagedReader <AsyncQueueRequest>(list.ToArray())); }
public IPagedReader <AsyncQueueRequest> GetAsyncQueueRequests(Guid organizationalUnitRoot, Guid dependantOnRequestId, int pageSize = 100) { QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(AsyncQueueRequestSchema.OrganizationalUnitRootProperty, organizationalUnitRoot), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.DependantOnRequestIdQueryProperty, dependantOnRequestId), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.PageSizeQueryProperty, pageSize) }); return(new ConfigDataProviderPagedReader <AsyncQueueRequest>(this.dataProviderDirectory, null, filter, null, pageSize)); }
public IPagedReader <AsyncQueueLogProperty> GetAsyncQueueLogProperties(Guid organizationalUnitRoot, Guid stepTransactionId, string logType = null, int pageSize = 100) { QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.OrganizationalUnitRootProperty, organizationalUnitRoot), AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.StepTransactionIdProperty, stepTransactionId), AsyncQueueSession.NewComparisonFilter(AsyncQueueLogPropertySchema.LogTypeProperty, logType), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.PageSizeQueryProperty, pageSize) }); return(new ConfigDataProviderPagedReader <AsyncQueueLogProperty>(this.dataProviderMtrt, null, filter, null, pageSize)); }
public IPagedReader <AsyncQueueRequest> GetAsyncQueueRequests(Guid organizationalUnitRoot, string ownerId = null, Guid?requestId = null, AsyncQueuePriority?priority = null, AsyncQueueStatus?status = null, DateTime?minCreationTime = null, DateTime?maxCreationTime = null, int pageSize = 100) { QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(AsyncQueueRequestSchema.OrganizationalUnitRootProperty, organizationalUnitRoot), AsyncQueueSession.NewComparisonFilter(AsyncQueueRequestSchema.OwnerIdProperty, ownerId), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.PageSizeQueryProperty, pageSize) }); if (priority != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueRequestSchema.PriorityProperty, (byte)priority.Value) }); } if (minCreationTime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.MinCreationDateTimeQueryProperty, minCreationTime) }); } if (maxCreationTime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.MaxCreationDateTimeQueryProperty, maxCreationTime) }); } if (status != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueRequestSchema.RequestStatusProperty, status) }); } if (requestId != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.RequestIdProperty, requestId) }); } return(new ConfigDataProviderPagedReader <AsyncQueueRequest>(this.dataProviderDirectory, null, queryFilter, null, pageSize)); }
public IPagedReader <AsyncQueueLog> GetAsyncQueueLogs(Guid organizationalUnitRoot, string ownerId = null, Guid?requestId = null, Guid?requestStepId = null, Guid?stepTransactionId = null, DateTime?processStartDatetime = null, DateTime?processEndDatetime = null, int pageSize = 100) { QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.OrganizationalUnitRootProperty, organizationalUnitRoot), AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.OwnerIdProperty, ownerId), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.PageSizeQueryProperty, pageSize) }); if (requestId != null && requestId != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.RequestIdProperty, requestId.Value) }); } if (requestStepId != null && requestStepId != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.RequestStepIdProperty, requestStepId.Value) }); } if (stepTransactionId != null && stepTransactionId != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.StepTransactionIdProperty, stepTransactionId.Value) }); } if (processStartDatetime != null && processStartDatetime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, new ComparisonFilter(ComparisonOperator.GreaterThanOrEqual, AsyncQueueLogSchema.ProcessStartDatetimeProperty, processStartDatetime.Value) }); } if (processEndDatetime != null && processEndDatetime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, new ComparisonFilter(ComparisonOperator.LessThanOrEqual, AsyncQueueLogSchema.ProcessEndDatetimeProperty, processEndDatetime.Value) }); } return(new ConfigDataProviderPagedReader <AsyncQueueLog>(this.dataProviderMtrt, null, queryFilter, null, pageSize)); }
internal IPagedReader <AsyncQueueStatusReport> GetStatusReport(string owner = null, DateTime?minCreationTime = null, DateTime?maxCreationTime = null, int?minFetchCount = null, int pageSize = 100) { QueryFilter queryFilter = AsyncQueueSession.NewComparisonFilter(AsyncQueueStatusReportSchema.PageSizeQueryProperty, pageSize); if (!string.IsNullOrWhiteSpace(owner)) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueStatusReportSchema.OwnerIdQueryProperty, owner) }); } if (minCreationTime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueStatusReportSchema.MinCreationDateTimeQueryProperty, minCreationTime) }); } if (maxCreationTime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueStatusReportSchema.MaxCreationDateTimeQueryProperty, maxCreationTime) }); } if (minFetchCount != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueStatusReportSchema.MinFetchCountProperty, minFetchCount) }); } List <IPagedReader <AsyncQueueStatusReport> > list = new List <IPagedReader <AsyncQueueStatusReport> >(); foreach (object propertyValue in ((IPartitionedDataProvider)this.dataProviderDirectory).GetAllPhysicalPartitions()) { list.Add(new ConfigDataProviderPagedReader <AsyncQueueStatusReport>(this.dataProviderDirectory, null, QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(DalHelper.PhysicalInstanceKeyProp, propertyValue), queryFilter }), null, pageSize)); } return(new CompositePagedReader <AsyncQueueStatusReport>(list.ToArray())); }
public List <AsyncQueueProbeResult> GetAsyncProbeResults(int nPartitionId, int batchSize, int inprogressBatchSize, int proocessBackInSeconds, int proocessInprogressBackInSeconds) { int num = this.GetAllPhysicalPartitions().Length; if (nPartitionId >= 0 && nPartitionId < num) { object propertyValue = this.GetAllPhysicalPartitions()[nPartitionId]; QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(DalHelper.PhysicalInstanceKeyProp, propertyValue), AsyncQueueSession.NewComparisonFilter(AsyncQueueProbeSchema.BatchSize, batchSize), AsyncQueueSession.NewComparisonFilter(AsyncQueueProbeSchema.InprogressBatchSize, inprogressBatchSize), AsyncQueueSession.NewComparisonFilter(AsyncQueueProbeSchema.ProocessBackInSeconds, proocessBackInSeconds), AsyncQueueSession.NewComparisonFilter(AsyncQueueProbeSchema.ProocessInprogressBackInSeconds, proocessInprogressBackInSeconds) }); return(this.dataProviderDirectory.Find <AsyncQueueProbeResult>(filter, null, false, null).Cast <AsyncQueueProbeResult>().ToList <AsyncQueueProbeResult>()); } throw new ArgumentOutOfRangeException(string.Format("AsynQueue Maximum partition={0}", num)); }
public IPagedReader <AsyncQueueLog> GetAsyncQueueLogsByOwner(string ownerId, DateTime?processStartDatetime = null, DateTime?processEndDatetime = null, int pageSize = 100) { if (string.IsNullOrWhiteSpace(ownerId)) { throw new ArgumentNullException("ownerId"); } QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.OwnerIdProperty, ownerId), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.PageSizeQueryProperty, pageSize) }); if (processStartDatetime != null && processStartDatetime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, new ComparisonFilter(ComparisonOperator.GreaterThanOrEqual, AsyncQueueLogSchema.ProcessStartDatetimeProperty, processStartDatetime.Value) }); } if (processEndDatetime != null && processEndDatetime != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, new ComparisonFilter(ComparisonOperator.LessThanOrEqual, AsyncQueueLogSchema.ProcessEndDatetimeProperty, processEndDatetime.Value) }); } List <IPagedReader <AsyncQueueLog> > list = new List <IPagedReader <AsyncQueueLog> >(); foreach (object propertyValue in ((IPartitionedDataProvider)this.dataProviderMtrt).GetAllPhysicalPartitions()) { list.Add(new ConfigDataProviderPagedReader <AsyncQueueLog>(this.dataProviderMtrt, null, QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(DalHelper.PhysicalInstanceKeyProp, propertyValue), queryFilter }), null, pageSize)); } return(new CompositePagedReader <AsyncQueueLog>(list.ToArray())); }
public List <AsyncQueueStep> GetActiveAsyncQueueRequests(int partitionId, string processInstanceName, TimeSpan failoverWaitThreshold, AsyncQueuePriority?priority = null, bool haRequestOnly = false, int batchSize = 10) { if (partitionId >= this.PartitionCount) { throw new ArgumentOutOfRangeException(string.Format("Invalid Parition Id {0} passed. Valid partition values are 0 to {1}", partitionId, this.PartitionCount - 1)); } AsyncQueueSession.ValidateProcessInstanceName(processInstanceName); object propertyValue = this.GetAllPhysicalPartitions()[partitionId]; MultiValuedProperty <AsyncQueueOwnerInfo> propertyValue2 = new MultiValuedProperty <AsyncQueueOwnerInfo>(); QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(DalHelper.PhysicalInstanceKeyProp, propertyValue), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.ProcessInstanceNameProperty, processInstanceName), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.OwnerListQueryProperty, propertyValue2), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.BatchSizeQueryProperty, batchSize), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.FailoverWaitInSecondsQueryProperty, failoverWaitThreshold.TotalSeconds) }); if (haRequestOnly) { AsyncQueueFlags asyncQueueFlags = AsyncQueueFlags.HARequest; queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.FlagsProperty, asyncQueueFlags) }); } if (priority != null) { queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.PriorityProperty, (byte)priority.Value) }); } return(this.dataProviderDirectory.Find <AsyncQueueStep>(queryFilter, null, true, null).Cast <AsyncQueueStep>().ToList <AsyncQueueStep>()); }
public void UpdateStepStatus(string processInstanceName, Guid requestId, Guid organizationalUnitRoot, Guid stepId, AsyncQueueStatus currentStatus, AsyncQueueStatus newStatus, out AsyncQueueRequestStatusInfo requestStatusInfo, TimeSpan?retryWaitInterval = null, string cookie = null) { requestStatusInfo = null; AsyncQueueSession.ValidateProcessInstanceName(processInstanceName); AsyncQueueRequestStatusUpdate asyncQueueRequestStatusUpdate = new AsyncQueueRequestStatusUpdate(organizationalUnitRoot, requestId, stepId); asyncQueueRequestStatusUpdate.ProcessInstanceName = processInstanceName; asyncQueueRequestStatusUpdate.CurrentStatus = currentStatus; asyncQueueRequestStatusUpdate.Status = newStatus; asyncQueueRequestStatusUpdate.Cookie = cookie; if (retryWaitInterval != null) { asyncQueueRequestStatusUpdate.RetryInterval = (int)retryWaitInterval.Value.TotalSeconds; } asyncQueueRequestStatusUpdate[AsyncQueueRequestStatusUpdateSchema.RequestCompleteProperty] = false; asyncQueueRequestStatusUpdate[AsyncQueueRequestStatusUpdateSchema.RequestStatusProperty] = AsyncQueueStatus.None; asyncQueueRequestStatusUpdate[AsyncQueueRequestStatusUpdateSchema.RequestStartDatetimeProperty] = null; asyncQueueRequestStatusUpdate[AsyncQueueRequestStatusUpdateSchema.RequestEndDatetimeProperty] = null; this.Save(this.dataProviderDirectory, asyncQueueRequestStatusUpdate); requestStatusInfo = new AsyncQueueRequestStatusInfo(); requestStatusInfo.Status = asyncQueueRequestStatusUpdate.RequestStatus; requestStatusInfo.StartDatetime = asyncQueueRequestStatusUpdate.RequestStartDatetime; requestStatusInfo.EndDatetime = asyncQueueRequestStatusUpdate.RequestEndDatetime; }
public IEnumerable <T> FindMigrationReport <T>(QueryFilter filter) where T : IConfigurable, new() { object obj; if (!DalHelper.TryFindPropertyValueByName(filter, "organizationalUnitRoot", out obj)) { throw new ArgumentException("Parameter 'Organization' was not specified in the query filter"); } AsyncQueueRequest asyncQueueRequest = this.GetAsyncQueueRequests((Guid)obj, "MigrateData1415", null, null, null, null, null, 1).FirstOrDefault <AsyncQueueRequest>(); if (asyncQueueRequest == null) { return(null); } QueryFilter filter2 = QueryFilter.AndTogether(new QueryFilter[] { AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.OrganizationalUnitRootProperty, asyncQueueRequest.OrganizationalUnitRoot), AsyncQueueSession.NewComparisonFilter(AsyncQueueCommonSchema.RequestIdProperty, asyncQueueRequest.RequestId), AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.ProcessStartDatetimeProperty, asyncQueueRequest.CreationTime.AddHours(-1.0)), AsyncQueueSession.NewComparisonFilter(AsyncQueueLogSchema.ProcessEndDatetimeProperty, asyncQueueRequest.LastModifiedTime.AddHours(1.0)) }); return(this.dataProviderMtrt.Find <T>(filter2, null, false, null).Cast <T>()); }
private void Save(IConfigDataProvider dataProvider, IConfigurable obj) { AsyncQueueSession.CheckInputType(obj); dataProvider.Save(obj); }