Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
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 description 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.
Info |
---|
In this article, the WebJobs is published to the web app service in Azure. The details of setting the app and creating the queue are assumed on the reader's part and have already been done. It is also assumed that the reader has a basic understanding of what Azure WebJobs are. |
When developing WebJobs, you use Workflow Studio to create the project template and then use Visual Studio to write the code for your particular implementation of the WebJobs.
Anchor | ||||
---|---|---|---|---|
|
Please follow the steps below to create a Web Job WebJob based on a Queue Trigger. The job with a queue trigger is invoked when
Right-click on the package folder you want to create the Web Job. Click on New Extension or Library → Azure Services .Net 6.0
Image RemovedImage AddedOpen the properties window , for the extension and select AzWebJob_QueueTrigger in the ServiceType property.
Save the Web Job.
Double click the job in the Solution Explorer to load it into Visual Studio.
Open the Appsettings.Json file and update the storage and the below queue values:
AzureWebJobsStorage:
QueueName:AzureWebJobsStorage – Connection string of the AzureWebJobsStorage.
QueueName – Name of the queue which you have already created in your Azure Queue Storage
Image Modified
TheMyWebJob.cs file has a default method
named
ProcessQueueMessageAsync()
that is invoked each time a message is received in the queue. By default, it has the code to log a test message.- Image Added
Click on build or follow the instructions in 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 the
..\EmpowerID\WFS\_microservices
folder. Look for the zip with the name of the WebJob you created.Open the Azure portal and navigate to the App Service.
Update Do the following to update the Queue Name in the Application Settings for the App.:
Click on Configuration Menu.
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 set in
Appsettings.json
on in step #5 above.
Click on the WebJobs menu and then the Add ➕ button.
Provide the necessary details for the Job and Click on the then click Ok to save the WebJob.
Name
– Identifier for the WebJob.
File Upload
– Deployment files for the WebJob. Choose the zip file you generated by building your project in step
#6.
Type
– Select
Triggered.
Image Modified
After seeing the success message of saving the job, click on the Run button to test it.
Now navigate Navigate to the Queue you just created and , add some text to the Message Text. Click field and then click the Ok button to save the message.
Open the Job in the browser & and 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.
Anchor | ||||
---|---|---|---|---|
|
Right-click on the package folder you want to create the Web Job. Click on New Extension or Library → Azure Services .Net 6.0
Image RemovedImage AddedOpen the properties window, and select AzWebJob_QueueTrigger in the ServiceType property.
Save the Web Job.
Double click the job in the Solution Explorer to load it into Visual Studio.
Open the Appsettings.Json file and update the storage setting values. Please ignore the QueueName settings that were required on another WebJobs.
AzureWebJobsStorage: Connection string of the AzureWebJobsStorage.
Image Modified
The
MyWebJob.cs file has a default method
named Run() that is invoked base on the value of the cron expression passed
as arguments. By default,
the method contains code to log a text message every five
minutes. You can change the default cron expression
0 */5 * * * *
to0 */1 * * * *
to trigger it every minute if desired.
- Image Added
Click on build or follow the instructions in 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 the
..\EmpowerID\WFS\_microservices
folder. Look for the zip with the name of the WebJob you created.Open the Azure portal and navigate to the App Service that you want to create the WebJob for.
Click on the WebJobs menu and then the Add ➕ button.
Provide the necessary details for the Job and Click on the Ok to save the WebJob.
Name: Identifier for the WebJob.
File Upload: Deployment files for the WebJob. Choose the zip file you generated by building your project in step
#6.
Type: Select job type is ‘Triggered.’
Image Modified
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.
Image RemovedImage RemovedImage AddedImage Added
Now navigate to Job Logs to find if the job ran sucessfullysuccessfully. You can see the information logged from the WebJob.
Anchor | ||||
---|---|---|---|---|
|
Right-click on the package folder you want to create the Web Job. Click on New Extension or Library → Azure Services .Net 6.0
Image AddedOpen the Properties window and set the
Image AddedServiceType
property toAzWebJob_BlobTrigger
.Save the Web Job.
Double click the job in the Solution Explorer to load it into Visual Studio.
Open the Appsettings.Json file and update the AzureWebJobsStorage and BlobContainerValues:
AzureWebJobsStorage: Connection string of the AzureWebJobsStorage.
BlobContainerName: Name of the queue you have already created in your Azure Queue Storage.
Image Added
Image Added
The MyWebJobs.cs file has a default method namedBlobTrigger()
that is invoked each time a file is uploaded into a blob container. It contains the code to log a text message whenever a file is uploaded to the blob by default.
Click build or follow the instructions in 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 the
..\EmpowerID\WFS\_microservices
folder. Look for the zip with the name of the WebJob you created.Open the Azure portal and navigate to the App Service you want to create the WebJob.
Click on the WebJobs menu and then the Add ➕ button.
Provide the necessary details for the Job and Click on the Ok to save the WebJob.
Name: Identifier for the WebJob.
File Upload: Deployment files for the WebJob. Choose the zip file you generated by building your project in step #6.
Type: Select job type is ‘Triggered.’
Image Added
Once the job is added successfully, Click on the ‘Run’ button to run the job.
Image AddedNavigate 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.
Image Added
Image AddedNow navigate to Job Logs to find if the job ran successfully. You can see the information logged from the WebJob.
Image Added
Anchor | ||||
---|---|---|---|---|
|
Right-click on the package folder you want to create the Web Job. Click on New Extension or Library → Azure Services .Net 6.0
Image AddedOpen the properties window, and select AzWebJob_Continuous in the ServiceType property.
Image AddedSave the Web Job.
Double click the job in the Solution Explorer to load it into Visual Studio.
Open the Appsettings.Json file and update the storage connection string values.
AzureWebJobsStorage: Connection string of the AzureWebJobsStorage.
Image Added
Image Added
The MyWebJobs.cs file has a default method namedRun()
that runs continuously as a background job after the application starts.
Click build or follow the instructions in 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 the
..\EmpowerID\WFS\_microservices
folder. Look for the zip with the name of the WebJob you created.Open the Azure portal and navigate to the App Service you want to create the WebJob.
Click on the WebJobs menu and then the Add ➕ button.
Provide the necessary details for the Job and Click on the Ok to save the WebJob.
Name: Identifier for the WebJob.
File Upload: Deployment files for the WebJob. Choose the zip file you generated by building your project in step #6.
Type: Select job type is ‘Continuous.’
Image Added
You can see that the job is started and is running.
Image AddedNow navigate to Job Logs to find if the job ran successfully. You can see the output logged for the WebJob that is running continuously.
Image Added
Div | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
IN THIS ARTICLE
|
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|