/ServiceWorkerCronJob

Schedule Cron Jobs using HostedService in ASP.NET Core

Primary LanguageC#MIT LicenseMIT

Service Worker Cron Jobs Demo

Buy Me a Coffee at ko-fi.com

You may want to ask, "What's the difference between a hosted service and a background thread?" The difference is that the hosted service will be started and stopped with the application. While, when starting a background thread, the thread cannot gracefully handle clean-up actions and will be killed when the application is stopped. The HostedServiceExecutor will handle the starting and stopping of a hosted service, which allows for graceful cleanup when the application is stopped.

Starts from version 2.1, .NET Core provides a native abstract base class BackgroundService, which includes common operations for background jobs such as CancellationToken and housekeeping works.

In this blog post, we will go over the use case of scheduling cron jobs using a customized HostedService in an ASP.NET Core Web API project. The following screen recording shows the runtime logging for the final application, which has three background tasks running at every 5 minutes, every 1 minute, and every day at 12:50 PM.

Cron Jobs

License

Feel free to use the code in this repository as it is under MIT license.

Buy Me a Coffee at ko-fi.com