Show / Hide Table of Contents

Class QueuesOptions

Represents configuration for QueueTriggerAttribute.

Inheritance
System.Object
QueuesOptions
Namespace: System.Dynamic.ExpandoObject
Assembly: Microsoft.Azure.WebJobs.Extensions.Storage.Queues.dll
Syntax
public class QueuesOptions : Microsoft.Azure.WebJobs.Hosting.IOptionsFormatter

Constructors

QueuesOptions()

Initializes a new instance of the QueuesOptions class.

Declaration
public QueuesOptions ();

Properties

BatchSize

Gets or sets the number of queue messages to retrieve from the queue (per job method). Must be in range within 1 and 32. The default is 16.

Both the NewBatchThreshold and BatchSize settings control how many messages are being processed in parallel. The job keeps requesting messages in batches of BatchSize size until number of messages currently being processed is above NewBatchThreshold. Then the job requests new batch of messages only if number of currently processed messages drops at or below NewBatchThreshold.

The maximum number of messages processed in parallel by the job is NewBatchThreshold plus BatchSize. These manually configured options aren't used when Dynamic Concurrency is enabled. See Microsoft.Azure.WebJobs.Host.Scale.ConcurrencyOptions.DynamicConcurrencyEnabled for details. When dynamic concurrency is enabled, the host will increase/decrease function concurrency dynamically as needed.

Declaration
public int BatchSize { get; set; }
Property Value
System.Int32

MaxDequeueCount

Gets or sets the number of times to try processing a message before moving it to the poison queue (where possible).

Declaration
public int MaxDequeueCount { get; set; }
Property Value
System.Int32

Remarks

Some queues do not have corresponding poison queues, and this property does not apply to them. Specifically,

there are no corresponding poison queues for any queue whose name already ends in "-poison" or any queue

whose name is already too long to add a "-poison" suffix.

MaxPollingInterval

Gets or sets the longest period of time to wait before checking for a message to arrive when a queue remains empty.

Declaration
public TimeSpan MaxPollingInterval { get; set; }
Property Value
System.TimeSpan

MessageEncoding

Gets or sets a message encoding that determines how queue message body is represented in HTTP requests and responses. The default is Azure.Storage.Queues.QueueMessageEncoding.Base64.

Declaration
public Azure.Storage.Queues.QueueMessageEncoding MessageEncoding { get; set; }
Property Value
Azure.Storage.Queues.QueueMessageEncoding

NewBatchThreshold

Gets or sets the threshold at which a new batch of messages will be fetched (per job method). Must be zero or positive integer. If not set then it defaults to

BatchSize/2*processorCount
.

Both the NewBatchThreshold and BatchSize settings control how many messages are being processed in parallel. The job keeps requesting messages in batches of BatchSize size until number of messages currently being processed is above NewBatchThreshold. Then the job requests new batch of messages only if number of currently processed messages drops at or below NewBatchThreshold.

The maximum number of messages processed in parallel by the job is NewBatchThreshold plus BatchSize.

Declaration
public int NewBatchThreshold { get; set; }
Property Value
System.Int32

VisibilityTimeout

Gets or sets the default message visibility timeout that will be used for messages that fail processing. The default is TimeSpan.Zero. To increase the time delay between retries, increase this value.

Declaration
public TimeSpan VisibilityTimeout { get; set; }
Property Value
System.TimeSpan

Remarks

When message processing fails, the message will remain in the queue and

its visibility will be updated with this value. The message will then be

available for reprocessing after this timeout expires.

Explicit Interface Implementations

IOptionsFormatter.Format()

Declaration
[System.ComponentModel.EditorBrowsable]
string IOptionsFormatter.Format ();
Returns
System.String

Back to top Azure SDK for .NET