Starting Azure Platform as a Service (PaaS) Development 101 Series: Lesson 1 of n – Web Jobs
There is a lot of content available to develop for Azure, if you are looking for baby steps this series of lessons is defiantly not for you. However, if you are developer, regardless of background or platform and looking quickly to get your hands dirty, then you are at the right place. I will not be setting up a fixed or target number of lessons, I will share ideas along the way and keep adding more. This does not mean I don’t have an agenda, on the contrary! I started by asking myself about developer tasks during the life cycle of building a PaaS solution on Azure.
As I mentioned earlier, this a special series that focuses on a point, a task, a recipe. So don’t be surprised if we wont be building fancy samples, I am here to help you get on your feet with PaaS development on Azure.
What’s up for today?
I’ve been doing Azure PaaS development for a while now, and I can tell you that the best place to start learning the robes are Web Jobs. Let me quiz you quickly here: What would you do if you want to run background tasks, executable files, or even scripts on Azure? I bet you would say: let’s spin a new VM and put all that stuff there. Or at least that’s what we used to say before Web Jobs came to life. So in a nutshell, you can schedule and configure on demand executable applications and scripts to run on Azure without spinning a new VM
Let’s get cracking
Below is a simple command line application that will print a time stamp. We will create a Web Job and configure it to run this application every one minute. Yeah I know a bit cheesy, but hey if you can come up with more meaningful examples, fire up the comments section below
1 using System;
2
3 namespace PaaS101.Lesson1
4 {
5 class Program
6 {
7 static void Main(string[] args)
8 {
9 Console.WriteLine(DateTime.Now);
10 }
11 }
12 }
Launch the Azure portal and head to Web Sites. Yep that’s right, Web Jobs sit inside Azure Websites and yes you can have multiple web jobs in the same Azure Website. Let’s create a new Website. I will use the same website through all the lessons. I called it paas101 and it will sit on https://paas101.azurewebsites.net.
Once created, click on paas101, select WEBJOBS tab, and create a new job.
Now you will have to compress your executable and their dependencies in one zip file. Since we decided to run it every minute then select “Run on a schedule” and choose your schedule region. Mine is “West Europe”.
Moving on to the next step, select “Recurring Job” for recurrence and set it for one minute. Looks like you have to specify and ending time. I just set it to 11:30PM today my time.
Once its done, you will notice that the status is set to “Enabled”. Let’s see how was the execution of our Web Job going. One of the columns is called “LOGS”. Navigate to the URL.
This is the logs URL for our Web Job: https://paas101.scm.azurewebsites.net/azurejobs/#/jobs/triggered/PrintTimeEveryOneMinute. Once you land on the logs page you will notice the previous runs below marked with a status:
Clicking on the web job will open the Web Job run details. As you can see from the screenshot below, the web job did print the time
I hope you enjoyed the quick 101. Let me know if you have any questions or comments. Until next lesson
Comments
- Anonymous
September 20, 2014
Awsome, when are you planning to release more lessons? - Anonymous
September 21, 2014
Thanks :) just posted a new one. You can always find all the lessons here: blogs.msdn.com/.../starting+azure+platform+as+a+service+2800_paas_2900+development+101+series - Anonymous
February 16, 2015
Please fill out the survey on WebJobs here: microsoft.qualtrics.com/SEThanks!!