public async Task EnqueueAsync(BlobTriggerMessage message, CancellationToken cancellationToken) { string contents = JsonConvert.SerializeObject(message, JsonSerialization.Settings); await _queue.AddMessageAndCreateIfNotExistsAsync(new CloudQueueMessage(contents), cancellationToken); _watcher.Notify(_queue.Name); }
public async Task AddAsync(T item, CancellationToken cancellationToken = default(CancellationToken)) { string contents = JsonConvert.SerializeObject( item, JsonSerialization.Settings); var msg = new CloudQueueMessage(contents); await _queue.AddMessageAndCreateIfNotExistsAsync(msg, cancellationToken); _parent._sharedWatcher.Notify(_queue.Name); }
/// <summary> /// Moves the specified message to the poison queue. /// </summary> /// <param name="message">The poison message</param> /// <param name="poisonQueue">The poison queue to copy the message to</param> /// <param name="cancellationToken">The <see cref="CancellationToken"/> to use</param> /// <returns></returns> protected virtual async Task CopyMessageToPoisonQueueAsync(CloudQueueMessage message, CloudQueue poisonQueue, CancellationToken cancellationToken) { string msg = string.Format(CultureInfo.InvariantCulture, "Message has reached MaxDequeueCount of {0}. Moving message to queue '{1}'.", MaxDequeueCount, poisonQueue.Name); _logger?.LogWarning(msg); await poisonQueue.AddMessageAndCreateIfNotExistsAsync(message, cancellationToken); var eventArgs = new PoisonMessageEventArgs(message, poisonQueue); OnMessageAddedToPoisonQueue(eventArgs); }
public async Task AddAsync(CloudQueueMessage message, CancellationToken cancellationToken = default(CancellationToken)) { if (message == null) { throw new InvalidOperationException("Cannot enqueue a null queue message instance."); } await _queue.AddMessageAndCreateIfNotExistsAsync(message, cancellationToken); if (_messageEnqueuedWatcher != null) { _messageEnqueuedWatcher.Notify(_queue.Name); } }