Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Hosted-services / Azure

Schedule Azure WebJobs using Azure Logic Apps

5.00/5 (1 vote)
24 Oct 2019Public Domain3 min read 3.1K   13  
In this article, we will see how to migrate Azure WebJobs from Azure Scheduler to Azure Logic Apps.

Introduction

In this tip, we will see how to migrate Azure WebJobs from Azure Scheduler to Azure Logic Apps. As we all know, the Azure Scheduler will become obsolete on 31st December 2019, after which all Scheduler job collections and jobs will stop running and they will be deleted from the system. In order to continue to use jobs, we must move Azure Schedulers to Azure Logic Apps as soon as possible. Azure Logic Apps have numerous features which are listed below:

  • Uses a visual designer and connectors to integrate with more than 200 different services, including Azure Blob storage, Azure Service Bus, Microsoft Outlook, and SAP
  • Manages each scheduled workload as a first-class Azure resource
  • Runs multiple one-time jobs using a single logic app
  • Sets schedules that automatically adjust to daylight saving time
  • For more details about its features and usage, please refer to the below article:

Before Going Further, Let’s Know Something about Azure Webjobs

WebJobs is a feature of Azure App Service that enables you to run a program or script in the same context as a web app, API app, or mobile app. There is no additional cost to use WebJobs. For more details, please refer to the following article:

Now, We Will See Step by Step, How to Schedule Azure Webjobs Using Azure Logic Apps

Step 1

Create and deploy an on-demand (triggered) job under Azure App Service. Click here to learn how to create and deploy a WebJob.

Image 1

Image 1

Step 2

Create a blank Logic App.

Image 2

Image 2

Step 3

Edit the logic app and select a Recurrence type of Schedule trigger.

Image 3

Image 3

Step 4

Set the interval, as per your requirement. Also, you can set other parameters like Time Zone and Start Time as shown in the below image. In my case, I am going to set 1 minute without any extra parameter.

Image 4

Image 4

Step 5

After trigger configuration, now it’s time to set HTTP action with post method and basic authentication.

Image 5

Image 5
JavaScript
"inputs": {
   "authentication": {
       "password": "password",
       "type": "Basic",
       "username": "$username"
        },
    "method": "POST",
    "uri": <a href="https://appname-webjob.scm.azurewebsites.net/api/webjobtype/webjobname/run">
              https://appname-webjob.scm.azurewebsites.net/api/webjobtype/webjobname/run</a>
  },

Image 6

Image 6

Note: We can get the basic authentication from publish profile of an application where we have deployed the WebJob.

Step 6

Run the Logic App and check the status under Runs history.

Image 7

Image 7

Image 8

Image 8

Note

You can download the code, copy and paste it in code view. Change your credentials and URI according to your WebJob; your Recurrence type Logic App is ready.

Expected Results

The Logic App has configured correctly, and it is working as expected. It is running the Azure WebJob as per the set frequency. If there is an error in the WebJob, then your run will be failed, and you can see it under Runs History.

Summary

In the above article, we have learned how to schedule the WebJobs using Azure Logic Apps. In reference to the article given above, we noticed that the Azure Scheduler is scheduled to retire fully on December 31, 2019, and All Scheduler job collections and jobs will stop running and they will be deleted from the system simultaneously. So, before that, we need to shift Azure Scheduler jobs to Azure Logic Apps.

License

This article, along with any associated source code and files, is licensed under A Public Domain dedication