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.
Installation
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;
Add the Volo.Abp.BackgroundWorkers.Quartz NuGet package to your project:
Install-Package Volo.Abp.BackgroundWorkers.Quartz
Add the
AbpBackgroundWorkersQuartzModule
to the dependency list of your module:
[DependsOn(
//...other dependencies
typeof(AbpBackgroundWorkersQuartzModule) //Add the new module dependency
)]
public class YourModule : AbpModule
{
}
Configuration
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.
More
Please see Quartz's documentation for more information.