0

I want to execute my Azure Webjob methods async but I wonder Azure Webjob supports Async Execution or not

Can anyone help me in this. to execute webjob methods ProcessSub1Messages and ProcessSub2Messages asynchronously.

namespace WebJob1
{
public class Functions 
{
      public static void ProcessSub1Messages([ServiceBusTrigger("TestTopic", "Sub1")] BrokeredMessage message,
        TextWriter logger)
        {   
            Console.WriteLine("Webjob Start for Sub1 {0} {1}", message.MessageId, DateTime.Now);
            Thread.Sleep(100000);
            Console.WriteLine("Webjob End for Sub1 {0} {1}", message.MessageId, DateTime.Now);
        }

        public static void ProcessSub2Messages([ServiceBusTrigger("TestTopic", "Sub2")] BrokeredMessage message,
        TextWriter logger)
        {
            Console.WriteLine("Webjob Start for Sub2 {0} {1}", message.MessageId, DateTime.Now);
            Thread.Sleep(100000);
            Console.WriteLine("Webjob End for Sub2 {0} {1}", message.MessageId, DateTime.Now);
        }
}
} 
Victor Hurdugaci
  • 28,177
  • 5
  • 87
  • 103
Neo
  • 15,491
  • 59
  • 215
  • 405

1 Answers1

2

Yes, the WebJobs SDK supports async. Just change the return type of the function from void to Task:

 public static async Task ProcessSub2Messages(
    [ServiceBusTrigge(("TestTopic", "Sub2")] BrokeredMessage message,
    TextWriter logger)
    {
        // async operations here
    }
Victor Hurdugaci
  • 28,177
  • 5
  • 87
  • 103