mirror of
https://github.com/bitwarden/server.git
synced 2025-04-05 05:00:19 -05:00
28 lines
636 B
C#
28 lines
636 B
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Quartz;
|
|
using Quartz.Spi;
|
|
|
|
namespace Bit.Core.Jobs;
|
|
|
|
public class JobFactory : IJobFactory
|
|
{
|
|
private readonly IServiceProvider _container;
|
|
|
|
public JobFactory(IServiceProvider container)
|
|
{
|
|
_container = container;
|
|
}
|
|
|
|
public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler)
|
|
{
|
|
var scope = _container.CreateScope();
|
|
return scope.ServiceProvider.GetService(bundle.JobDetail.JobType) as IJob;
|
|
}
|
|
|
|
public void ReturnJob(IJob job)
|
|
{
|
|
var disposable = job as IDisposable;
|
|
disposable?.Dispose();
|
|
}
|
|
}
|