Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Asp.NET Core 2.1 HostedService - keep running on Azure

We have a web application that is using the IHostedService. There is an example of this here

And the method we employed is detailed here

The goal was to have an application that continually ran background tasks. So we could schedule in jobs that run automatically at set times. This application is separate from all our other applications, so it's not visited by our user base. So we needed a way for this application to run all the time on Azure.

We tried to set up an App Service for the application on Azure, but it seems that the application does not continually run. Things seem to run locally ok, but on Azure, I have to stop and restart the service before it kicks in the IHostedService tasks.

Is there a way on Azure to keep the application alive and running?

like image 967
Mark Johnson Avatar asked Dec 11 '18 08:12

Mark Johnson


People also ask

Does Azure App Service use IIS or kestrel?

Additional resources. Azure App Service on Windows Server uses Internet Information Services (IIS).

When should I use IHostedService?

The IHostedService interface provides a convenient way to start background tasks in an ASP.NET Core web application (in . NET Core 2.0 and later versions) or in any process/host (starting in . NET Core 2.1 with IHost ).


1 Answers

Ok, so in the App Settings in Azure, there is a setting Always On this worked for us. :)

We also found out from Azure support, that if you are on the lowest tier in their offered packages, this is treated as a "Development" environment and will only have limited up-time. As a result, we could expect the application to go offline when we reached that limit.

We argued that there should have been something more obvious in the dashboard for us to know this.

Once we upgraded to a Standard tier, the application stayed online.

Also, if you are running a hosted service and it hits an unhandled exception, this stops the service. You need to make sure you are handling exceptions for this to work.

like image 153
Mark Johnson Avatar answered Oct 10 '22 22:10

Mark Johnson