In the latest version v1.1.0, you can now control the visibility timeout by registering your own QueueProcessor instances with JobHostConfiguration.Queues.QueueProcessorFactory . This allows you to control advanced message processing behavior globally or in each queue / function.
For example, to set visibility for failed messages, you can override ReleaseMessageAsync as follows:
protected override async Task ReleaseMessageAsync(CloudQueueMessage message, FunctionResult result, TimeSpan visibilityTimeout, CancellationToken cancellationToken) {
More information can be found in the release notes here .
source share