1

In Azure functions 4 Isolated Process, I'm using queue triggered functions and multi-output bindings in my workflow. Everything works great until I try to figure out how to delay one of the work items via A VisibilityTimeout in the output binding. Anyone know a way to do this?

What I have:

public sealed record UpdateStatusAndDoWork
{
    [QueueOutput(Queues.WorkToDoLater)]
    public WorkData { get; set; }

    [QueueOutput(Queues.UpdateStatusQueueName)]
    public StatusUpdate StatusUpdate { get; set; }
}

What I want:

public sealed record UpdateStatusAndDoWork
{
    [QueueOutput(Queues.WorkToDoLater, TimeSpan.FromHours(1))]
    public WorkData { get; set; }

    [QueueOutput(Queues.UpdateStatusQueueName)]
    public StatusUpdate StatusUpdate { get; set; }
}
Angelo
  • 954
  • 2
  • 8
  • 15

1 Answers1

0

As mentioned in this section, the bindings need to be serializable types due to how isolated function app work. There are some SDK Types being supported but are currently in preview.

This is a similar limitation that other non-C# languages how because of the way functions work when running outside the main Functions Runtime process.

To achieve scheduling, you will have to use the Azure SDK directly in your code instead of relying on the binding.

PramodValavala
  • 6,026
  • 1
  • 11
  • 30