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.
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
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
{
}
See Configuration.
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.