public void Setup() { _jobSchedulesMock.Add(new JobSchedule(typeof(SearchRequestJob), "0/5 * * * * ?")); // _jobSchedulesMock.Add(new JobSchedule(typeof(FailedSearchRequestJob), "0/5 * * * * ?")); _schedulerFactoryMock.Setup(x => x.GetScheduler(It.IsAny <CancellationToken>())) .Returns(Task.FromResult(_schedulerMock.Object)); sut = new QuartzHostedService(_schedulerFactoryMock.Object, _jobFactoryMock.Object, _jobSchedulesMock); }
public ScheduleManagerController(ILogger <ScheduleManagerController> logger, IEnumerable <JobSchedule> jobSchedules, QuartzHostedService quartzHostedService, JobTriggerInfo JobTriggerInfo) { _logger = logger; _jobSchedules = jobSchedules; _quartzHostedService = quartzHostedService; _jobTriggerInfo = JobTriggerInfo ?? throw new ArgumentNullException(nameof(JobTriggerInfo)); }
public async void IServiceCollectionExtensions_Register_RegisterJob_ITrigger() { // Registered jobas var scheduleJobc = new List <IScheduleJob>(); var jobDetail1 = A.Fake <IJobDetail>(); var trigger1 = A.Fake <ITrigger>(); var trigger2 = A.Fake <ITrigger>(); var trigger3 = A.Fake <ITrigger>(); scheduleJobc.Add(new ScheduleJob(jobDetail1, new List <ITrigger>() { trigger1, trigger2, trigger3 })); IServiceProvider serviceProvider = A.Fake <IServiceProvider>(); A.CallTo(() => serviceProvider.GetService(typeof(IEnumerable <IScheduleJob>))).Returns(scheduleJobc); ISchedulerFactory schedulerFactory = A.Fake <ISchedulerFactory>(); IScheduler scheduler = A.Fake <IScheduler>(); A.CallTo(() => schedulerFactory.GetScheduler(A <CancellationToken> .Ignored)) .Returns(Task.FromResult(scheduler)); IJobFactory jobFactory = A.Fake <IJobFactory>(); var testClass = new QuartzHostedService(serviceProvider, schedulerFactory, jobFactory); await testClass.StartAsync(CancellationToken.None); A.CallTo( () => scheduler.ScheduleJob( A <IJobDetail> .That.Matches(jd => jd == jobDetail1), A <ITrigger> .That.Matches(t => t == trigger1), A <CancellationToken> .Ignored)) .MustHaveHappened(1, Times.Exactly); A.CallTo( () => scheduler.ScheduleJob( A <ITrigger> .That.Matches(t => t == trigger2 || t == trigger3), A <CancellationToken> .Ignored)) .MustHaveHappened(2, Times.Exactly); }
public async void IServiceCollectionExtensions_Register_RegisterJob() { // Зарегистрированные джобы var scheduleJobc = new List <IScheduleJob>(); var jobDetail1 = A.Fake <IJobDetail>(); var jobDetail2 = A.Fake <IJobDetail>(); var jobDetail3 = A.Fake <IJobDetail>(); scheduleJobc.Add(new ScheduleJob(jobDetail1, new List <ITrigger>() { A.Fake <ITrigger>() })); scheduleJobc.Add(new ScheduleJob(jobDetail2, new List <ITrigger>() { A.Fake <ITrigger>() })); scheduleJobc.Add(new ScheduleJob(jobDetail3, new List <ITrigger>() { A.Fake <ITrigger>() })); IServiceProvider serviceProvider = A.Fake <IServiceProvider>(); A.CallTo(() => serviceProvider.GetService(typeof(IEnumerable <IScheduleJob>))).Returns(scheduleJobc); ISchedulerFactory schedulerFactory = A.Fake <ISchedulerFactory>(); IScheduler scheduler = A.Fake <IScheduler>(); A.CallTo(() => schedulerFactory.GetScheduler(A <CancellationToken> .Ignored)) .Returns(Task.FromResult(scheduler)); IJobFactory jobFactory = A.Fake <IJobFactory>(); var testClass = new QuartzHostedService(serviceProvider, schedulerFactory, jobFactory); await testClass.StartAsync(CancellationToken.None); A.CallTo( () => scheduler.ScheduleJob( A <IJobDetail> .That.Matches(jd => jd == jobDetail1 || jd == jobDetail2 || jd == jobDetail3), A <ITrigger> .Ignored, A <CancellationToken> .Ignored)) .MustHaveHappened(Repeated.Like(count => count == 3)); }
public async void IServiceCollectionExtensions_Register_HostedService() { IServiceProvider serviceProvider = A.Fake <IServiceProvider>(); A.CallTo(() => serviceProvider.GetService(typeof(IEnumerable <IScheduleJob>))).Returns(null); ISchedulerFactory schedulerFactory = A.Fake <ISchedulerFactory>(); IScheduler scheduler = A.Fake <IScheduler>(); A.CallTo(() => schedulerFactory.GetScheduler(A <CancellationToken> .Ignored)) .Returns(Task.FromResult(scheduler)); IJobFactory jobFactory = A.Fake <IJobFactory>(); var testClass = new QuartzHostedService(serviceProvider, schedulerFactory, jobFactory); await testClass.StartAsync(CancellationToken.None); A.CallTo(scheduler) .Where(a => a.Method.Name.Equals("set_JobFactory")); }
static async Task Main() { ILogger logger = GetLogger(); IServiceCollection serviceCollection = ConfigureServices(logger); ServiceProvider serviceProvider = serviceCollection.BuildServiceProvider(); LoadBrands(serviceProvider); LoadModels(serviceProvider); LoadCars(serviceProvider); SeedDb(serviceProvider); CollectData collectData = serviceProvider.GetService <CollectData>(); collectData.SaveAllBrands(serviceProvider); collectData.SaveAllModels(serviceProvider); QuartzHostedService quartz = serviceProvider.GetService <QuartzHostedService>(); await quartz.StartAsync(new CancellationToken()); Thread.Sleep(1000000000); }
/// <summary> /// 建構子 /// </summary> /// <param name="quartzHostedService">Quartz排程服務</param> public SchedulerHub(QuartzHostedService quartzHostedService) { _quartzHostedService = quartzHostedService; }