36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using Bunny.Service.Job;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
using NUnit.Framework;
|
|
using Quartz;
|
|
|
|
namespace Bunny.Test.Until.JobTest;
|
|
|
|
public class JobTest1
|
|
{
|
|
[Test]
|
|
[Obsolete("Obsolete")]
|
|
public async Task TestJob()
|
|
{
|
|
var scheduler = await Host.CreateDefaultBuilder()
|
|
.ConfigureServices((_, services) =>
|
|
{
|
|
services.AddQuartzHostedService(opt => { opt.WaitForJobsToComplete = true; });
|
|
services.AddQuartz(q => q.UseMicrosoftDependencyInjectionJobFactory());
|
|
})
|
|
.Build()
|
|
.Services.GetRequiredService<ISchedulerFactory>()
|
|
.GetScheduler();
|
|
var jobDetail = JobBuilder.Create<HelloJob>()
|
|
.WithIdentity("HelloJob", "分组名称")
|
|
.Build();
|
|
var trigger = TriggerBuilder.Create()
|
|
.WithIdentity("HelloJob", "触发器分组")
|
|
.StartNow()
|
|
.WithSimpleSchedule(x => x.WithIntervalInSeconds(5).WithRepeatCount(5))
|
|
.Build();
|
|
|
|
await scheduler.ScheduleJob(jobDetail, trigger);
|
|
await scheduler.Start();
|
|
}
|
|
} |