public ProductUpdateResponseItem[] DequeueProductUpdateResponse(int messageId)
        {
            ProductUpdateResponseItem[] products = null;
            var client = new QueueOf_ProductUpdateRequest_ProductUpdateResponseClient();

            DateTime?dequeuedAt             = null;
            var      numberOfFailedAttempts = 0;

            Log.ForCurrent.DebugFormat("Dequeueing ProductUpdateResponse. MessageId: {0}", messageId);
            for (var i = 0; i < _settings.MaximumNumberOfRetries; i++)
            {
                Thread.Sleep(_settings.MillisecondsBetweenRetries);
                products = client.DequeueMessage(messageId);

                if (products != null)
                {
                    dequeuedAt = DateTime.Now;
                    break;
                }

                numberOfFailedAttempts++;
            }

            _pimRequestLogRepository.UpdateRequestWithResponseData(messageId, dequeuedAt, numberOfFailedAttempts, products);

            return(products);
        }
示例#2
0
        public ProductUpdateResponseItem[] DequeueProductUpdateResponse(int messageId)
        {
            ProductUpdateResponseItem[] products = null;
            var client = new QueueOf_ProductUpdateRequest_ProductUpdateResponseClient();

            DateTime? dequeuedAt = null;
            var numberOfFailedAttempts = 0;

            Log.ForCurrent.DebugFormat("Dequeueing ProductUpdateResponse. MessageId: {0}", messageId);
            for (var i = 0; i < _settings.MaximumNumberOfRetries; i++)
            {
                Thread.Sleep(_settings.MillisecondsBetweenRetries);
                products = client.DequeueMessage(messageId);

                if (products != null)
                {
                    dequeuedAt = DateTime.Now;
                    break;
                }

                numberOfFailedAttempts++;
            }

            _pimRequestLogRepository.UpdateRequestWithResponseData(messageId, dequeuedAt, numberOfFailedAttempts, products);

            return products;
        }
        public int EnqueueProductUpdateRequest(string primaryAction, string secondaryAction, ProductUpdateRequestItem queryItem)
        {
            Log.ForCurrent.DebugFormat("Enqueueing ProductUpdateRequest. Primary action: {0}. Secondary action: {1}", primaryAction, secondaryAction);
            var messageId = new QueueOf_ProductUpdateRequest_ProductUpdateResponseClient().EnqueueMessage(primaryAction, secondaryAction, queryItem);

            LogRequest(messageId, primaryAction, secondaryAction, queryItem);

            return(messageId);
        }
示例#4
0
        public int EnqueueProductUpdateRequest(string primaryAction, string secondaryAction, ProductUpdateRequestItem queryItem)
        {
            Log.ForCurrent.DebugFormat("Enqueueing ProductUpdateRequest. Primary action: {0}. Secondary action: {1}", primaryAction, secondaryAction);
            var messageId = new QueueOf_ProductUpdateRequest_ProductUpdateResponseClient().EnqueueMessage(primaryAction, secondaryAction, queryItem);

            LogRequest(messageId, primaryAction, secondaryAction, queryItem);

            return messageId;
        }