Schedule Azure WebJobs Using Azure Logic Apps
Microsoft has announced that it will stop supporting Azure WebJobs at the end of the year. Here's how to save your applications.
Join the DZone community and get the full member experience.
Join For FreeIn this article, we will see how to migrate Azure WebJobs from Azure Scheduler to Azure Logic Apps. As we all know, Azure Scheduler will become obsolete on December 31, 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:
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 this article.
WebJobs is a feature of the 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.
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.
Step 2: Create a blank Logic App.
Step 3: Edit the Logic app and select a Recurrence type of Schedule trigger.
Step 4: Set the intervals according to your requirements. 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.
Step 5: After trigger configuration, now it's time to set HTTP action with post method and basic authentication.
"inputs": {
"authentication": {
"password": "password",
"type": "Basic",
"username": "$username"
},
"method": "POST",
"uri": https://appname-webjob.scm.azurewebsites.net/api/webjobtype/webjobname/run
},
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 run history.
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 according to 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 this 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, shift Azure Scheduler jobs to Azure Logic Apps as soon as possible.
Further Reading
Opinions expressed by DZone contributors are their own.
Comments