public async Task <(string QueueName, string MessageId)> EnqueueAsync(BlobTriggerMessage message, CancellationToken cancellationToken)
        {
            string contents = JsonConvert.SerializeObject(message, JsonSerialization.Settings);
            var    receipt  = await QueueClient.AddMessageAndCreateIfNotExistsAsync(BinaryData.FromString(contents), cancellationToken).ConfigureAwait(false);

            SharedQueueWatcher.Notify(QueueClient.Name);
            return(QueueName : QueueClient.Name, MessageId : receipt.MessageId);
        }
예제 #2
0
        public QueueMonitor(string queueName, TimeSpan messageVisibilityTimeout, Common.Configuration.IConfigurationManager config, ILogger logger)
        {
            _logger = logger;
            _config = config;

            _queueClient = Helpers.QueueClientHelper.CreateQueueClient(config, queueName);

            _deadLetterQueueClient    = Helpers.QueueClientHelper.CreateQueueClient(config, config.DeadLetterMessagesQueueName);
            _messageVisibilityTimeout = messageVisibilityTimeout;
        }
예제 #3
0
        public MessageHandler(Azure.Storage.Queues.QueueClient queueClient, Azure.Storage.Queues.QueueClient deadLetterClient, Common.Configuration.IConfigurationManager config, Common.Tracking.IProcessingTracker tracker, ILogger logger)
        {
            _queueClient           = queueClient;
            _deadLetterQueueClient = deadLetterClient;

            _config  = config;
            _logger  = logger;
            _tracker = tracker;

            _factory = new RequestProcessorFactory(_config, _tracker, _logger);
        }
예제 #4
0
        public static void Run([QueueTrigger("formatted", Connection = "EventQueueConnectionString")] string myQueueItem, ILogger log)
        {
            log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");

            Runtime.Common.Configuration.ConfigurationManager config = new FunctionConfigurationManager();
            Azure.Storage.Queues.QueueClient c = Runtime.Helpers.QueueClientHelper.CreateQueueClient(config, config.FormattedMessagesQueueName);
            Azure.Storage.Queues.QueueClient d = Runtime.Helpers.QueueClientHelper.CreateQueueClient(config, config.DeadLetterMessagesQueueName);

            Runtime.Common.Tracking.IProcessingTracker tracker = new Runtime.Common.Tracking.ProcessingTracker(null, log);

            Runtime.MessageHandler <FormattedProcessRequest> handler = new Runtime.MessageHandler <FormattedProcessRequest>(c, d, config, tracker, log);

            var result = handler.ProcessMessageAsync(myQueueItem, new System.Threading.CancellationTokenSource().Token).Result;

            log.LogInformation($"Request processed. Status:{result.Status}");
        }
 public BlobTriggerQueueWriter(QueueClient queue, IMessageEnqueuedWatcher watcher)
 {
     _queue = queue;
     Debug.Assert(watcher != null);
     _watcher = watcher;
 }
 public QueueMessageDecodingFailedEventArgs(Azure.Storage.Queues.QueueClient queueClient, Azure.Storage.Queues.Models.QueueMessage receivedMessage, Azure.Storage.Queues.Models.PeekedMessage peekedMessage, bool isRunningSynchronously, System.Threading.CancellationToken cancellationToken) : base(default(bool), default(System.Threading.CancellationToken))
 {
 }
 public static Azure.Storage.Queues.QueueClient WithClientSideEncryptionOptions(this Azure.Storage.Queues.QueueClient client, Azure.Storage.ClientSideEncryptionOptions clientSideEncryptionOptions)
 {
     throw null;
 }
 public static Azure.Storage.Queues.QueueServiceClient GetParentQueueServiceClient(this Azure.Storage.Queues.QueueClient client)
 {
     throw null;
 }
예제 #9
0
 public PoisonMessageEventArgs(Azure.Storage.Queues.Models.QueueMessage message, Azure.Storage.Queues.QueueClient poisonQueue)
 {
 }
예제 #10
0
 protected virtual System.Threading.Tasks.Task CopyMessageToPoisonQueueAsync(Azure.Storage.Queues.Models.QueueMessage message, Azure.Storage.Queues.QueueClient poisonQueue, System.Threading.CancellationToken cancellationToken)
 {
     throw null;
 }
예제 #11
0
 public QueueProcessorFactoryContext(Azure.Storage.Queues.QueueClient queue, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Azure.WebJobs.Host.QueuesOptions options, Azure.Storage.Queues.QueueClient poisonQueue = null)
 {
 }
예제 #12
0
        private static Azure.Storage.Queues.QueueClient EnsureClientCache(string key, Azure.Storage.Queues.QueueClient client)
        {
            lock (_clientCache)
            {
                if (false == _clientCache.ContainsKey(key))
                {
                    _clientCache.Add(key, client);
                }
            }

            return(client);
        }
 public BlobTriggerQueueWriter(QueueClient queueClient, SharedQueueWatcher wsharedQueueWatcher)
 {
     QueueClient        = queueClient;
     SharedQueueWatcher = wsharedQueueWatcher;
 }