1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-20 02:48:03 -05:00
bitwarden/src/Core/Jobs/JobFactory.cs
Ben Bryant 20d3911b80
[PM-22380] Enable NRT for some Core project files (#5912)
* Enable NRT for Core/Jobs files

* Enable NRT for Core/HostedServices files

* Enable NRT for Core/Exceptions files

* Enable NRT for Core/NotificationHub files

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2025-06-06 13:59:57 +02:00

30 lines
657 B
C#

using Microsoft.Extensions.DependencyInjection;
using Quartz;
using Quartz.Spi;
namespace Bit.Core.Jobs;
#nullable enable
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();
}
}