/// <summary> /// Initializes a new instance of the <see cref="JobScheduler"/> class. /// </summary> /// <param name="cloudContext">The cloud context.</param> /// <param name="traceSource">The trace source.</param> /// <param name="storageAccountFactory">The storage account factory.</param> /// <param name="settings">The settings.</param> public JobScheduler(string cloudContext, TraceSource traceSource, Func<CloudStorageAccount> storageAccountFactory, Settings settings) { var container = Bootstrapper.Initialize(); Func<IAppConfigRepository> repositoryFactory = () => container.Resolve<IAppConfigRepository>(); _jobConstructor = type=>(IJobActivity)container.Resolve(type, null); _settings = settings; _cloudContext = cloudContext; _cloudStorageAccount = storageAccountFactory(); _traceSource = traceSource; _schedulerDbContext = new SchedulerDbContext(repositoryFactory); }
/// <summary> /// Initializes a new instance of the <see cref="JobScheduler"/> class. /// </summary> /// <param name="schedulerDbContext">The scheduler database context.</param> /// <param name="jobConstructor">The job constructor.</param> /// <param name="cloudContext">The cloud context.</param> /// <param name="traceSource">The trace source.</param> /// <param name="storageAccountFactory">The storage account factory.</param> /// <param name="settings">The settings.</param> public JobScheduler(ISchedulerDbContext schedulerDbContext, Func<Type,IJobActivity> jobConstructor, string cloudContext, TraceSource traceSource, Func<CloudStorageAccount> storageAccountFactory, Settings settings) { _jobConstructor = jobConstructor; _settings = settings; _cloudContext = cloudContext; _cloudStorageAccount = storageAccountFactory(); _traceSource = traceSource; _schedulerDbContext = schedulerDbContext; }