SlideShare a Scribd company logo
CUTYOUR HAIR AND GET
AN AZUREWEBJOB!
Mark Greenway
@MarkKGreenway
Who | What | When | Where | Why | How | OMG WHY?!
THANKS SPONSORS!
Who | What | When | Where | Why | How | OMG WHY?!
Who the #$@& is this guy??
WHO | What | When | Where | Why | How | OMG WHY?!
What is an
AzureWebJob?
Who| WHAT | When | Where | Why | How | OMG WHY?!
Location Name
Azure PaaS WebJob
Azure PaaS
(old)
Worker Role
Heroku Worker
App Harbor Worker Unithttps://flic.kr/p/5uJsLG
What is an
AzureWebJob?
Who| WHAT | When | Where | Why | How | OMG WHY?!
Options
Powershell
.BAT (Batch file)
Node.JS
Python
.exe
.NET Application
https://flic.kr/p/a2qceu
What is an
AzureWebJob?
Who| WHAT | When | Where | Why | How | OMG WHY?!
Can’t do
Run Servers
Invoke Server Applications
https://flic.kr/p/a2qceu
When Does an Azure
WebJob Run?
Who| What | WHEN | Where | Why | How | OMG WHY?!
1. Triggered
2. Continuous
© 2013 Tim Buss
When Does an Azure
WebJob Run?
Who| What | WHEN | Where | Why | How | OMG WHY?!
1. Triggered
© 2013 Tim Buss
• Scheduled
• Manual
When Does an Azure
WebJob Run?
Who| What | WHEN | Where | Why | How | OMG WHY?!
2. Continuous
© 2013 Tim Buss
• Runs AllTheTime (with Always On)
• .NETTriggers Run (with SDK)
Where Does an Azure
WebJob Run?
Who| What | When | WHERE | Why | How | OMG WHY?!
1. With An AzureWebsite (W/AWS)
https://flic.kr/p/7fXoky
• Logically bound to a particular site
• Deployment options
• Separate Manual Deployment
• CLI
• Web Interface
• Continuous Deployment with site
• 1 …n
Where Does an Azure
WebJob Run?
2. With Only Other AzureWebJobs
https://flic.kr/p/ajkTkm
• Not Logically bound to a particular site
• Deployment options
• Separate Manual Deployment
• CLI
• Web Interface
• Independent git et al.
deployments.
• 1 …n
Who| What | When | WHERE | Why | How | OMG WHY?!
Who| What | When | Where | WHY | How | OMG WHY?!
Why Use AWebJob:
• Process Log Files
• Process Orders
• Migrate Deleted Items to Long term
storage
• Compress Uploaded Images
• AddWatermarks to Images
• Run NightlyTasks
• Import on premise data to azure
• ManageVideos for Smooth Streaming
• RSS Aggregation
• Migrating Log Files
• Long RunningTasks
• Complex Creation of User Records
• Interaction with slow 3rd party systems
• Convert JSON to XML
• Email users
• Decoupling
• Scalability
• OCR
• Billing
How to Manually UploadAWebJob :
1. Put files into a folder
2. Zip all the files in the folder
3. Go toWeb or CLI
Who| What | When | Where | Why | HOW | OMG WHY?!
How to “PiggyBack” Upload AWebJob :
1. Put files into a folder
2. Copy that folder to
App_Data/jobs/[continuous,triggered]/
3. Deploy As Usual
Who| What | When | Where | Why | HOW | OMG WHY?!
How to Continuously UploadAWebJob :
Who| What | When | Where | Why | HOW | OMG WHY?!
1. Create Project in Same Solution
2. Modify Build to copy that folder to
App_Data/jobs/[continuous,triggered]/
3. Deploy As Usual
How to Continuously UploadAWebJob :
1. Create Project in Same Solution
2. Modify Build to copy that folder to
App_Data/jobs/[continuous,triggered]/
3. Deploy As Usual
*Heavily Photoshopped for Clarity
Who| What | When | Where | Why | HOW | OMG WHY?!
How to create a .NETWebJob
Who| What | When | Where | Why | HOW | OMG WHY?!
1. File -> New -> Console Application
2. Add NuGet Packages for extra tooling
How to create a .NET WebJob
Who| What | When | Where | Why | HOW | OMG WHY?!
static void Main()
{
var host = new JobHost();
host.RunAndBlock();
}
public static void AzureQueue([QueueTrigger("myqueue")] string userJson) {}
public static void AzureQueueObject([QueueTrigger("myqueue")] Person person) {}
public static void SbQueue([ServiceBusTrigger("sbqueue")] string person) {}
public static void SbQueueObject([ServiceBusTrigger("sbobjectqueue")] Person person) {}
public static void Resize(
[BlobTrigger(@"images-input/{name}")] WebImage input,
[Blob(@"images-output/{name}")] out WebImage output) {}
How to TEST a .NETWebJob
Who| What | When | Where | Why | HOW | OMG WHY?!
//IN WEBJOB CLASS
public static Person LastPerson { get; set; }
public static void SbQueueObject([ServiceBusTrigger("sbobjectqueue")] Person person)
{
LastPerson = person;
Console.WriteLine("Service Bus Object Queue : {0}", person);
}
//INTEST CLASS
[Test]
public void PersonSetsLastPerson()
{
var dawn = PersonCreator.CreatePerson("Dawn");
ImageProcessing.SbQueueObject(dawn);
Assert.AreEqual(dawn,ImageProcessing.LastPerson);
}
How to Debug a .NET WebJob
Who| What | When | Where | Why | HOW | OMG WHY?!
https://cutyourhair.scm.azurewebsites.net/azurejobs/#/jobs
1.Use A Backplane
2.Post Directly to the Backplane
How to Update SignalR from aWebJob
Who| What | When | Where | Why | How | OMG WHY?!
How to Update SignalR from aWebJob
Who| What | When | Where | Why | How | OMG WHY?!
How to Update SignalR from aWebJob
Who| What | When | Where | Why | How | OMG WHY?!
Who| What | When | Where | Why | How | OMG WHY?!
https://twitter.com/rustd
Pranav Rastogi
Program Manager, Azure WebJobs, ASP.NET
http://blog.amitapple.com/
Amit Apple
Senior Software Developer, Azure Web Sites
WhoTo Follow:
http://twitter.com/shanselman
Scott Hanselman
Microsoft
http://Friday.Azure.com
Learn More:
Who| What | When | Where | Why | How | OMG WHY?!
Mark Greenway
@MarkKGreenway
http://www.slideshare.net/MarkKGreenway/cut-your-hair-and-get-an-azure-webjob-37937899

More Related Content

What's hot

Service Worker Presentation
Service Worker PresentationService Worker Presentation
Service Worker Presentation
Kyle Dorman
 
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST APIWordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
Brian Hogg
 
JS-IL: Getting MEAN in 1 Hour
JS-IL: Getting MEAN in 1 HourJS-IL: Getting MEAN in 1 Hour
JS-IL: Getting MEAN in 1 Hour
Valeri Karpov
 
遠端團隊專案建立與管理 remote team management 2016
遠端團隊專案建立與管理 remote team management 2016遠端團隊專案建立與管理 remote team management 2016
遠端團隊專案建立與管理 remote team management 2016
Caesar Chi
 
Service workers
Service workersService workers
Service workers
jungkees
 
Deploying a Location-Aware Ember Application
Deploying a Location-Aware Ember ApplicationDeploying a Location-Aware Ember Application
Deploying a Location-Aware Ember Application
Ben Limmer
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
Greg Whalin
 
Advanced WordPress Development Environments
Advanced WordPress Development EnvironmentsAdvanced WordPress Development Environments
Advanced WordPress Development Environments
Beau Lebens
 
PWA 與 Service Worker
PWA 與 Service WorkerPWA 與 Service Worker
PWA 與 Service Worker
Anna Su
 
Put a little Backbone in your WordPress
Put a little Backbone in your WordPressPut a little Backbone in your WordPress
Put a little Backbone in your WordPress
adamsilverstein
 
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Codemotion
 
Web workers and service workers
Web workers and service workersWeb workers and service workers
Web workers and service workers
Nitish Phanse
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
Justin Cataldo
 
How we maintain 200+ Drupal sites in Georgetown University
How we maintain 200+ Drupal sites in Georgetown UniversityHow we maintain 200+ Drupal sites in Georgetown University
How we maintain 200+ Drupal sites in Georgetown University
Ovadiah Myrgorod
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize Django
Hannes Hapke
 
Drupal, Android and iPhone
Drupal, Android and iPhoneDrupal, Android and iPhone
Drupal, Android and iPhone
Alexandru Badiu
 
Build your application in seconds and optimize workflow as much as you can us...
Build your application in seconds and optimize workflow as much as you can us...Build your application in seconds and optimize workflow as much as you can us...
Build your application in seconds and optimize workflow as much as you can us...
Alex S
 
Go & WebAssembly
Go & WebAssembly Go & WebAssembly
Go & WebAssembly
Guus van Weelden
 
Jenkins Job DSL plugin
Jenkins Job DSL plugin Jenkins Job DSL plugin
Jenkins Job DSL plugin
Nikita Bugrovsky
 
Real World Seaside Applications
Real World Seaside ApplicationsReal World Seaside Applications
Real World Seaside Applications
ESUG
 

What's hot (20)

Service Worker Presentation
Service Worker PresentationService Worker Presentation
Service Worker Presentation
 
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST APIWordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
WordCamp Ann Arbor 2015 Introduction to Backbone + WP REST API
 
JS-IL: Getting MEAN in 1 Hour
JS-IL: Getting MEAN in 1 HourJS-IL: Getting MEAN in 1 Hour
JS-IL: Getting MEAN in 1 Hour
 
遠端團隊專案建立與管理 remote team management 2016
遠端團隊專案建立與管理 remote team management 2016遠端團隊專案建立與管理 remote team management 2016
遠端團隊專案建立與管理 remote team management 2016
 
Service workers
Service workersService workers
Service workers
 
Deploying a Location-Aware Ember Application
Deploying a Location-Aware Ember ApplicationDeploying a Location-Aware Ember Application
Deploying a Location-Aware Ember Application
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 
Advanced WordPress Development Environments
Advanced WordPress Development EnvironmentsAdvanced WordPress Development Environments
Advanced WordPress Development Environments
 
PWA 與 Service Worker
PWA 與 Service WorkerPWA 與 Service Worker
PWA 與 Service Worker
 
Put a little Backbone in your WordPress
Put a little Backbone in your WordPressPut a little Backbone in your WordPress
Put a little Backbone in your WordPress
 
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
 
Web workers and service workers
Web workers and service workersWeb workers and service workers
Web workers and service workers
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
 
How we maintain 200+ Drupal sites in Georgetown University
How we maintain 200+ Drupal sites in Georgetown UniversityHow we maintain 200+ Drupal sites in Georgetown University
How we maintain 200+ Drupal sites in Georgetown University
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize Django
 
Drupal, Android and iPhone
Drupal, Android and iPhoneDrupal, Android and iPhone
Drupal, Android and iPhone
 
Build your application in seconds and optimize workflow as much as you can us...
Build your application in seconds and optimize workflow as much as you can us...Build your application in seconds and optimize workflow as much as you can us...
Build your application in seconds and optimize workflow as much as you can us...
 
Go & WebAssembly
Go & WebAssembly Go & WebAssembly
Go & WebAssembly
 
Jenkins Job DSL plugin
Jenkins Job DSL plugin Jenkins Job DSL plugin
Jenkins Job DSL plugin
 
Real World Seaside Applications
Real World Seaside ApplicationsReal World Seaside Applications
Real World Seaside Applications
 

Similar to Cut your hair and get an azure webjob

Azue Webjobs
Azue WebjobsAzue Webjobs
Azue Webjobs
Akila Iroshan
 
Drools and jBPM 6 Overview
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 Overview
Mark Proctor
 
[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions
European Collaboration Summit
 
Introducing to node.js
Introducing to node.jsIntroducing to node.js
Introducing to node.js
JeongHun Byeon
 
Javascript Everywhere
Javascript EverywhereJavascript Everywhere
Javascript Everywhere
Pascal Rettig
 
Express Presentation
Express PresentationExpress Presentation
Express Presentation
aaronheckmann
 
The Web Becomes Graceful
The Web Becomes GracefulThe Web Becomes Graceful
The Web Becomes Graceful
colorhook
 
Build web application by express
Build web application by expressBuild web application by express
Build web application by express
Shawn Meng
 
PyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopPyWPS at COST WPS Workshop
PyWPS at COST WPS Workshop
Jachym Cepicky
 
Web Performance Part 4 "Client-side performance"
Web Performance Part 4  "Client-side performance"Web Performance Part 4  "Client-side performance"
Web Performance Part 4 "Client-side performance"
Binary Studio
 
Node azure
Node azureNode azure
Node azure
Emanuele DelBono
 
Nodejs web,db,hosting
Nodejs web,db,hostingNodejs web,db,hosting
Nodejs web,db,hosting
Kenu, GwangNam Heo
 
Azure Web Jobs
Azure Web JobsAzure Web Jobs
Azure Web Jobs
BizTalk360
 
JavaScript performance patterns
JavaScript performance patternsJavaScript performance patterns
JavaScript performance patterns
Stoyan Stefanov
 
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
O365Con18 - Automate your Tasks through Azure Functions - Elio StruyfO365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
NCCOMMS
 
AtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-onsAtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-ons
Atlassian
 
Intro to node.js - Ran Mizrahi (27/8/2014)
Intro to node.js - Ran Mizrahi (27/8/2014)Intro to node.js - Ran Mizrahi (27/8/2014)
Intro to node.js - Ran Mizrahi (27/8/2014)
Ran Mizrahi
 
Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (28/8/14)Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (28/8/14)
Ran Mizrahi
 
Practical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsPractical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.js
async_io
 
Future of Web Apps: Google Gears
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gears
dion
 

Similar to Cut your hair and get an azure webjob (20)

Azue Webjobs
Azue WebjobsAzue Webjobs
Azue Webjobs
 
Drools and jBPM 6 Overview
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 Overview
 
[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions
 
Introducing to node.js
Introducing to node.jsIntroducing to node.js
Introducing to node.js
 
Javascript Everywhere
Javascript EverywhereJavascript Everywhere
Javascript Everywhere
 
Express Presentation
Express PresentationExpress Presentation
Express Presentation
 
The Web Becomes Graceful
The Web Becomes GracefulThe Web Becomes Graceful
The Web Becomes Graceful
 
Build web application by express
Build web application by expressBuild web application by express
Build web application by express
 
PyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopPyWPS at COST WPS Workshop
PyWPS at COST WPS Workshop
 
Web Performance Part 4 "Client-side performance"
Web Performance Part 4  "Client-side performance"Web Performance Part 4  "Client-side performance"
Web Performance Part 4 "Client-side performance"
 
Node azure
Node azureNode azure
Node azure
 
Nodejs web,db,hosting
Nodejs web,db,hostingNodejs web,db,hosting
Nodejs web,db,hosting
 
Azure Web Jobs
Azure Web JobsAzure Web Jobs
Azure Web Jobs
 
JavaScript performance patterns
JavaScript performance patternsJavaScript performance patterns
JavaScript performance patterns
 
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
O365Con18 - Automate your Tasks through Azure Functions - Elio StruyfO365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
 
AtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-onsAtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-ons
 
Intro to node.js - Ran Mizrahi (27/8/2014)
Intro to node.js - Ran Mizrahi (27/8/2014)Intro to node.js - Ran Mizrahi (27/8/2014)
Intro to node.js - Ran Mizrahi (27/8/2014)
 
Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (28/8/14)Intro to node.js - Ran Mizrahi (28/8/14)
Intro to node.js - Ran Mizrahi (28/8/14)
 
Practical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsPractical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.js
 
Future of Web Apps: Google Gears
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gears
 

Cut your hair and get an azure webjob

  • 1. CUTYOUR HAIR AND GET AN AZUREWEBJOB! Mark Greenway @MarkKGreenway Who | What | When | Where | Why | How | OMG WHY?!
  • 2. THANKS SPONSORS! Who | What | When | Where | Why | How | OMG WHY?!
  • 3. Who the #$@& is this guy?? WHO | What | When | Where | Why | How | OMG WHY?!
  • 4. What is an AzureWebJob? Who| WHAT | When | Where | Why | How | OMG WHY?! Location Name Azure PaaS WebJob Azure PaaS (old) Worker Role Heroku Worker App Harbor Worker Unithttps://flic.kr/p/5uJsLG
  • 5. What is an AzureWebJob? Who| WHAT | When | Where | Why | How | OMG WHY?! Options Powershell .BAT (Batch file) Node.JS Python .exe .NET Application https://flic.kr/p/a2qceu
  • 6. What is an AzureWebJob? Who| WHAT | When | Where | Why | How | OMG WHY?! Can’t do Run Servers Invoke Server Applications https://flic.kr/p/a2qceu
  • 7. When Does an Azure WebJob Run? Who| What | WHEN | Where | Why | How | OMG WHY?! 1. Triggered 2. Continuous © 2013 Tim Buss
  • 8. When Does an Azure WebJob Run? Who| What | WHEN | Where | Why | How | OMG WHY?! 1. Triggered © 2013 Tim Buss • Scheduled • Manual
  • 9. When Does an Azure WebJob Run? Who| What | WHEN | Where | Why | How | OMG WHY?! 2. Continuous © 2013 Tim Buss • Runs AllTheTime (with Always On) • .NETTriggers Run (with SDK)
  • 10. Where Does an Azure WebJob Run? Who| What | When | WHERE | Why | How | OMG WHY?! 1. With An AzureWebsite (W/AWS) https://flic.kr/p/7fXoky • Logically bound to a particular site • Deployment options • Separate Manual Deployment • CLI • Web Interface • Continuous Deployment with site • 1 …n
  • 11. Where Does an Azure WebJob Run? 2. With Only Other AzureWebJobs https://flic.kr/p/ajkTkm • Not Logically bound to a particular site • Deployment options • Separate Manual Deployment • CLI • Web Interface • Independent git et al. deployments. • 1 …n Who| What | When | WHERE | Why | How | OMG WHY?!
  • 12. Who| What | When | Where | WHY | How | OMG WHY?! Why Use AWebJob: • Process Log Files • Process Orders • Migrate Deleted Items to Long term storage • Compress Uploaded Images • AddWatermarks to Images • Run NightlyTasks • Import on premise data to azure • ManageVideos for Smooth Streaming • RSS Aggregation • Migrating Log Files • Long RunningTasks • Complex Creation of User Records • Interaction with slow 3rd party systems • Convert JSON to XML • Email users • Decoupling • Scalability • OCR • Billing
  • 13. How to Manually UploadAWebJob : 1. Put files into a folder 2. Zip all the files in the folder 3. Go toWeb or CLI Who| What | When | Where | Why | HOW | OMG WHY?!
  • 14. How to “PiggyBack” Upload AWebJob : 1. Put files into a folder 2. Copy that folder to App_Data/jobs/[continuous,triggered]/ 3. Deploy As Usual Who| What | When | Where | Why | HOW | OMG WHY?!
  • 15. How to Continuously UploadAWebJob : Who| What | When | Where | Why | HOW | OMG WHY?! 1. Create Project in Same Solution 2. Modify Build to copy that folder to App_Data/jobs/[continuous,triggered]/ 3. Deploy As Usual
  • 16. How to Continuously UploadAWebJob : 1. Create Project in Same Solution 2. Modify Build to copy that folder to App_Data/jobs/[continuous,triggered]/ 3. Deploy As Usual *Heavily Photoshopped for Clarity Who| What | When | Where | Why | HOW | OMG WHY?!
  • 17. How to create a .NETWebJob Who| What | When | Where | Why | HOW | OMG WHY?! 1. File -> New -> Console Application 2. Add NuGet Packages for extra tooling
  • 18. How to create a .NET WebJob Who| What | When | Where | Why | HOW | OMG WHY?! static void Main() { var host = new JobHost(); host.RunAndBlock(); } public static void AzureQueue([QueueTrigger("myqueue")] string userJson) {} public static void AzureQueueObject([QueueTrigger("myqueue")] Person person) {} public static void SbQueue([ServiceBusTrigger("sbqueue")] string person) {} public static void SbQueueObject([ServiceBusTrigger("sbobjectqueue")] Person person) {} public static void Resize( [BlobTrigger(@"images-input/{name}")] WebImage input, [Blob(@"images-output/{name}")] out WebImage output) {}
  • 19. How to TEST a .NETWebJob Who| What | When | Where | Why | HOW | OMG WHY?! //IN WEBJOB CLASS public static Person LastPerson { get; set; } public static void SbQueueObject([ServiceBusTrigger("sbobjectqueue")] Person person) { LastPerson = person; Console.WriteLine("Service Bus Object Queue : {0}", person); } //INTEST CLASS [Test] public void PersonSetsLastPerson() { var dawn = PersonCreator.CreatePerson("Dawn"); ImageProcessing.SbQueueObject(dawn); Assert.AreEqual(dawn,ImageProcessing.LastPerson); }
  • 20. How to Debug a .NET WebJob Who| What | When | Where | Why | HOW | OMG WHY?! https://cutyourhair.scm.azurewebsites.net/azurejobs/#/jobs
  • 21. 1.Use A Backplane 2.Post Directly to the Backplane How to Update SignalR from aWebJob Who| What | When | Where | Why | How | OMG WHY?!
  • 22. How to Update SignalR from aWebJob Who| What | When | Where | Why | How | OMG WHY?!
  • 23. How to Update SignalR from aWebJob Who| What | When | Where | Why | How | OMG WHY?!
  • 24. Who| What | When | Where | Why | How | OMG WHY?! https://twitter.com/rustd Pranav Rastogi Program Manager, Azure WebJobs, ASP.NET http://blog.amitapple.com/ Amit Apple Senior Software Developer, Azure Web Sites WhoTo Follow: http://twitter.com/shanselman Scott Hanselman Microsoft http://Friday.Azure.com Learn More:
  • 25. Who| What | When | Where | Why | How | OMG WHY?! Mark Greenway @MarkKGreenway http://www.slideshare.net/MarkKGreenway/cut-your-hair-and-get-an-azure-webjob-37937899

Editor's Notes

  1. Next year’s date.
  2. Next year’s date.