Quartz Background Worker Manager

Quartz is an advanced background worker manager. You can integrate Quartz with the ABP Framework to use it instead of the default background worker manager. ABP simply integrates quartz.


It is suggested to use the ABP CLI to install this package.

Using the ABP CLI

Open a command line window in the folder of the project (.csproj file) and type the following command:

abp add-package Volo.Abp.BackgroundWorkers.Quartz

Manual Installation

If you want to manually install;

  1. Add the Volo.Abp.BackgroundWorkers.Quartz NuGet package to your project:

    Install-Package Volo.Abp.BackgroundWorkers.Quartz
  2. Add the AbpBackgroundWorkersQuartzModule to the dependency list of your module:

    //...other dependencies
    typeof(AbpBackgroundWorkersQuartzModule) //Add the new module dependency
public class YourModule : AbpModule


See Configuration.

Create a Background Worker

A background work is a class that derives from the QuartzBackgroundWorkerBase base class. for example. A simple worker class is shown below:

public class MyLogWorker : QuartzBackgroundWorkerBase
    public MyLogWorker()
        JobDetail = JobBuilder.Create<MyLogWorker>().Build();
        Trigger = TriggerBuilder.Create().StartNow().Build();

    public override Task Execute(IJobExecutionContext context)
        Logger.LogInformation("Executed MyLogWorker..!");
        return Task.CompletedTask;

We simply implemented the Execute method to write a log. The background worker is a singleton by default. If you want, you can also implement a dependency interface to register it as another life cycle.


Please see Quartz's documentation for more information.

Was this page helpful?
Please make a selection.
Thank you for your valuable feedback!

Please note that although we cannot respond to feedback, our team will use your comments to improve the experience.

In this document
Mastering ABP Framework Book
Mastering ABP Framework

This book will help you gain a complete understanding of the framework and modern web application development techniques.