In this PnP Web Cast we concentrated on asynchronous operation pattern with Office 365 using Azure WebJobs. This is really powerful pattern for performing scheduled and on-demand operations, which is commonly needed for long lasting operations. Pattern is taking advantage of continuously running Azure WebJob model with communications using Azure storage queues.
Typical use cases for asynchronous operations would be for example following:
- Long running AppInstalled events
- Long running remote event receiver events
- Site collection or site provisioning
- Long running integration scenarios for example to on-premises
- Governance tasks towards sites and other Office 365 content
During the web cast we demonstrated the process with simplistic sample from the PnP sample gallery called Core.QueueWebJobUsage. This sample concentrates on showing the actual pattern without any additional complexity.
Notice. Key reason for using the asynchronous pattern is simply time out handling either in SharePoint or in Azure web sites. Good example of this challenge is for example site collection provisioning which you cannot execute in the process of Azure web site, since Azure web site has 60 second time out for the processes. This means that you'll need to offload the process for example to Azure WebJob.
Presentation used in this web cast is available from http://docs.com/OfficeDevPnP.
See following PnP videos for related material on covered topics
- PnP Add-In Transformation Training module 5: Using Remote Event Receivers and Remote Timer Jobs
- Asynchronous on-demand operations in Office 365 with Azure storage queues and WebJobs
- Asynchronous remote provisioning solution for self service site collection creation
See following samples from the PnP sample gallery for additional reference around covered topics.
- Core.QueueWebJobUsage - Sample used in the video for showing the process with Azure WebJobs
- Provisioning.Cloud.Async.WebJob - Self-service site collection provisioning sample, which is using exactly the same pattern as shown in the video
See following references for additional details around Azure WebJobs
- Run Background tasks with WebJobs
- Getting started with WebJobs and the WebJobs SDK
- How to use Azure queue storage with the WebJobs SDK
- Microsoft Patterns and Practices - Background jobs guidance
If you have any feedback or comments related on this web cast, please use the Office 365 Developer Patterns and Practices Yammer group to provider your input. Thx for your interest advance.