Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Classes/Queue/AzureQueueStorage.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,16 @@ class AzureQueueStorage implements QueueInterface

protected string $containerName;

/**
* Polling timeout (how long to wait for a message)
*/
protected int $defaultTimeout = 30;

/**
* Visibility timeout (how long message stays hidden during processing)
*/
protected int $visibilityTimeout = 300;

/**
* Message size threshold for claim check pattern (in bytes)
* Azure Storage Queue messages have a max size of 64KB
Expand Down Expand Up @@ -685,6 +693,7 @@ private function tryReceiveOnce(): ?AzureQueueStorageMessage
try {
$listMessagesOptions = new ListMessagesOptions();
$listMessagesOptions->setNumberOfMessages(1);
$listMessagesOptions->setVisibilityTimeoutInSeconds($this->visibilityTimeout);

/**
* @var QueueMessage[] $queueMessages
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ Flowpack:
executeIsolated: true
options:
connectionString: DefaultEndpointsProtocol=https;AccountName=myaccountname;AccountKey=myaccountkey;EndpointSuffix=core.windows.net
defaultTimeout: 30 # Default timeout in seconds
defaultTimeout: 30 # Default polling timeout in seconds (how long to wait for a message)
visibilityTimeout: 300 # Default visibility timeout in seconds (how long message stays hidden during processing), note that this must exceed the maximum expected job duration
claimCheckThreshold: 32768 # Message size threshold for claim check pattern (in bytes)
defaultTtl: 604800 # Default message TTL in seconds (7 days max for Azure Storage Queue)
pollingInterval: 1000 # Polling interval in milliseconds
Expand Down