A background worker is a class that derives from the `AsyncPeriodicBackgroundWorkerBase` or `PeriodicBackgroundWorkerBase` class. Both base classes are derived from `ISingletonDependency`.
### Status Checker
This example is used to simple check remote application status. Just suppose that, we want to check and store some web applications are running or not?
````csharp
public class AppStatusService : ITransientDependency
{
.
.
public void CheckAppStatus()
{
var ping = new System.Net.NetworkInformation.Ping();
This worker will call DoWorkAsync() method every 10 seconds while the application is running.
### Configuration
Add your BackgroundWorker at `OnApplicationInitialization` in your [module class](Module-Development-Basics.md). The example below initialize the background worker to your module:
````csharp
using Volo.Abp.BackgroundWorkers;
public class MyModule : AbpModule
{
public override void OnApplicationInitialization(ApplicationInitializationContext context)