Skip to end of banner
Go to start of banner

Azure WebJobs Template

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

WebJobs enables applications to run background tasks in the same instance as a web app. The Workflow Studio has four new types of templates based on triggers for the Azure WebJobs. The triggers determine which event invokes the WebJob. Please consider the different available triggers below to choose the appropriate template,

  • Queue Trigger – The Queue trigger starts the WebJob when a new message is received on a queue.

  • Timer Trigger – This trigger will start the WebJob based on the timer (Timestamp/CRON) value.

  • Blob Trigger – Blob Trigger will invoke the WebJob when a file is uploaded to the blob container.

  • Continuous – This web job will be manually invoked while starting the application and runs continuously.

Queue Trigger

Please follow the steps below to create a WebJob based on a Queue Trigger. The job with a queue trigger is invoked when

  1. Right-click on the package folder you want to create the Web Job. Click on New Extension or Library → Azure Services .Net 6.0

  2. Open the properties window for the extension and select AzWebJob_QueueTrigger in the ServiceType property.

  3. Save the Web Job.

  4. Double click the job in the Solution Explorer to load it into Visual Studio.

  5. Open the Appsettings.Json and update the storage and queue values

    1. AzureWebJobsStorage:  Connection string of the AzureWebJobsStorage.

    2. QueueName: Name of the queue which you have already created in your Azure Queue Storage

  6. The MyWebJobs.cs file has a default method ProcessQueueMessageAsync which invokes whenever a message is received in the queue. By default, it has the code to log a test message.

  7. Click on build or follow the instructions https://dotnetworkflow.jira.com/wiki/spaces/EDGV21/pages/1606357003/Deployment+Overview#Deploy-to-a-local-folder to deploy the Web Jobs files into a package. You can find the zip of the Web Job inside ..\EmpowerID\WFS\_microservices folder. Look for the zip with the name of the WebJob you created.

  8. Open the Azure portal and navigate to the App Service.

  9. Update the Queue Name in the Application Settings for the App.

    1. Click on Configuration Menu

    2. Click on the Application Settings tab and edit the value for QueueName. Make sure you set the exact value of the key to the value you used in Appsettings.json on step #5.

  10. Click on the WebJobs menu and then the Add ➕ button.

  11. Provide the necessary details for the Job and Click on the Ok to save the WebJob.

    1. Name: Identifier for the WebJob.

    2. File Upload: Deployment files for the WebJob. Choose the zip file you generated by building your project in step #7.

    3. Type: Select job type is ‘Triggered.’

  12. After seeing the success message of saving the job, click on the Run button to test it.

  13. Now navigate to the Queue you created and add Message Text. Click the Ok button to save the message.

  14. Open the Job in the browser & navigate to Logs. You can find the configured message of the previous step in the logs, indicating that you have successfully created a Queue Trigger WebJob.

Timer Trigger

  1. Right-click on the package folder you want to create the Web Job. Click on New Extension or Library → Azure Services .Net 6.0

  2. Open the properties window, and select AzWebJob_QueueTrigger in the ServiceType property.

  3. Save the Web Job.

  4. Double click the job in the Solution Explorer to load it into Visual Studio.

  5. Open the Appsettings.Json and update the storage setting values. Please ignore the QueueName settings that were required on another WebJobs.

    1. AzureWebJobsStorage: Connection string of the AzureWebJobsStorage.

  6. The MyWebJobs.cs file has a default method Run which invokes based on the cron expression passed on the arguments. By default, it has the code to log a text message every five mins. You can change the default cron expression 0 */5 * * * * to 0 */1 * * * * to trigger it every minute.

  7. Click on build or follow the instructions https://dotnetworkflow.jira.com/wiki/spaces/EDGV21/pages/1606357003/Deployment+Overview#Deploy-to-a-local-folder to deploy the Web Jobs files into a package. You can find the zip of the Web Job inside ..\EmpowerID\WFS\_microservices folder. Look for the zip with the name of the WebJob you created.

  8. Open the Azure portal and navigate to the App Service you want to create the WebJob.

  9. Click on the WebJobs menu and then the Add ➕ button.

  10. Provide the necessary details for the Job and Click on the Ok to save the WebJob.

    1. Name: Identifier for the WebJob.

    2. File Upload: Deployment files for the WebJob. Choose the zip file you generated by building your project in step #7.

    3. Type: Select job type is ‘Triggered.’

  11. Once the job is added successfully, Click on the ‘Run’ button to run the job manually. Once you have triggered the job, you will see the job listed and running status.

  12. Now navigate to Job Logs to find if the job ran successfully. You can see the information logged from the WebJob.


Blob Trigger

  1. Right-click on the package folder you want to create the Web Job. Click on New Extension or Library → Azure Services .Net 6.0

  2. Open the properties window, and select AzWebJob_BlobTrigger in the ServiceType property.

  3. Save the Web Job.

  4. Double click the job in the Solution Explorer to load it into Visual Studio.

  5. Open the Appsettings.Json and update the storage and queue values

    1. AzureWebJobsStorage: Connection string of the AzureWebJobsStorage.

    2. BlobContainerName: Name of the queue you have already created in your Azure Queue Storage.

  6. The MyWebJobs.cs file has a default method, BlobTrigger, which invokes whenever any file is uploaded into a blob container. It has the code to log a text message whenever a file is uploaded to the Blob by default.

  7. Click on build or follow the instructions https://dotnetworkflow.jira.com/wiki/spaces/EDGV21/pages/1606357003/Deployment+Overview#Deploy-to-a-local-folder to deploy the Web Jobs files into a package. You can find the zip of the Web Job inside ..\EmpowerID\WFS\_microservices folder. Look for the zip with the name of the WebJob you created.

  8. Open the Azure portal and navigate to the App Service you want to create the WebJob.

  9. Click on the WebJobs menu and then the Add ➕ button.

  10. Provide the necessary details for the Job and Click on the Ok to save the WebJob.

    1. Name: Identifier for the WebJob.

    2. File Upload: Deployment files for the WebJob. Choose the zip file you generated by building your project in step #7.

    3. Type: Select job type is ‘Triggered.’

  11. Once the job is added successfully, Click on the ‘Run’ button to run the job.

  12. Navigate to your blob container and upload a file to test if the WebJob is working fine. Click on the Upload button and select the file to upload.


  13. Now navigate to Job Logs to find if the job ran successfully. You can see the information logged from the WebJob.

Continuous

  1. Right-click on the package folder you want to create the Web Job. Click on New Extension or Library → Azure Services .Net 6.0

  2. Open the properties window, and select AzWebJob_Continuous in the ServiceType property.

  3. Save the Web Job.

  4. Double click the job in the Solution Explorer to load it into Visual Studio.

  5. Open the Appsettings.Json and update the storage connection string values.

    1. AzureWebJobsStorage: Connection string of the AzureWebJobsStorage.

  6. The MyWebJobs.cs file has a default method that runs continuously as a background job after the application is started.

  7. Click on build or follow the instructions https://dotnetworkflow.jira.com/wiki/spaces/EDGV21/pages/1606357003/Deployment+Overview#Deploy-to-a-local-folder to deploy the Web Jobs files into a package. You can find the zip of the Web Job inside ..\EmpowerID\WFS\_microservices folder. Look for the zip with the name of the WebJob you created.

  8. Open the Azure portal and navigate to the App Service you want to create the WebJob.

  9. Click on the WebJobs menu and then the Add ➕ button.

  10. Provide the necessary details for the Job and Click on the Ok to save the WebJob.

    1. Name: Identifier for the WebJob.

    2. File Upload: Deployment files for the WebJob. Choose the zip file you generated by building your project in step #7.

    3. Type: Select job type is ‘Continuous.’

  11. You can see that the job is started and is running.

  12. Now navigate to Job Logs to find if the job ran successfully. You can see the output logged for the WebJob that is running continuously.

  • No labels