我想链接3个作业,但AddJobChainLink()只获得2个jobKeys作为参数。

scheduler = container.GetInstance<IScheduler>();
            scheduler.JobFactory = container.GetInstance<IJobFactory>();    JobKey jobkey1 = new JobKey("job1", "group1");
            JobKey jobkey2 = new JobKey("job2", "group2");
            JobKey jobkey3 = new JobKey("job3", "group3");

            var job1 = JobBuilder.Create<Type1>().WithIdentity("job1", "group1").Build();
            var job2 = JobBuilder.Create<Type2>().WithIdentity("job2", "group2").Build();
            var job3 = JobBuilder.Create<Type3>().WithIdentity("job3", "group3").Build();

            ITrigger trigger1 = TriggerBuilder.Create().WithIdentity("trigger1", "group1").StartNow().Build();

            JobChainingJobListener chain = new JobChainingJobListener("testChain");
            chain.AddJobChainLink(jobkey1, jobkey2);
            scheduler.ScheduleJob(job1, trigger1);
            scheduler.AddJob(job2, true);
            scheduler.AddJob(job3, true);

            scheduler.ListenerManager.AddJobListener(chain, GroupMatcher<JobKey>.AnyGroup());

            scheduler.Start();

#1楼 票数:8 已采纳

尝试这个:

JobChainingJobListener chain = new JobChainingJobListener("testChain");
chain.AddJobChainLink(jobkey1, jobkey2);
chain.AddJobChainLink(jobkey2, jobkey3);

JobChainingJobListener可帮助您按照所需的特定顺序为作业创建执行链。 您只需要按特定顺序将每个作业与另一个作​​业链接起来。

  ask by Beginner translate from so

未解决问题?本站智能推荐:

3回复

如何使用Quartz.Net中的NameValueCollection访问任何作业属性?

我有一个关于Quartz.net的大项目。 我被创造了一些工作来完成一些任务。 所以我做了一个总结项目,以了解我。 我有工作。 我想解析一些值到作业的属性。 在执行时间上,作业需要这些属性。 但是我做不到。 请不要说“为什么不使用'JobDetail.JobDataMap'?”
1回复

使用SQL Server AdoJobStore配置Quartz.NET

我在尝试让Quartz.NET与AdoJobStore一起工作时遇到了麻烦。 这里没有其他问题似乎遇到了我的问题。 我能够在没有AdoJobStore配置的情况下使其工作正常,但是最终会保留所有内容,但是在尝试GetScheduler()时我得到了一个我无法弄清楚的错误。 这是我的qu
1回复

Windows服务结束后,Quartz.net作业似乎仍然存在

我是Quartz.net的新手,此刻只是对此有所了解。 我正在设置Quartz.net作业以从Windows服务运行。 我的Windows服务有两种启动方式:a)如果项目作为Windows服务运行,它将作为普通服务运行。 b)如果项目是从Visual Studio中以调试模式运行的,则
2回复

使用Quartz .NET创建Cron表达式

是否可以使用Quartz .NET程序集生成cron表达式? 我看到CronScheduleBuilder类有一个私有成员cronExpression ,这基本上就是我要找的东西。 有没有其他方法可以获得cron表达式?
1回复

Quartz.net 多线程和线程安全

我最近开始使用quartz.net,我有一个关于线程安全的问题。 在上面的例子中,我有一个有两个触发器的工作。 我的问题是这两个触发器在运行时是否共享同一个作业实例? 或者每次触发器运行时都会创建一个新的 IJobDetail 实例。 我曾尝试阅读quartz.net 的文档,但它非常令人困惑,
1回复

QUARTZ.NET未执行进程

我正在使用Quartz.net的最新3.0.6版本,我希望安排一个进程每天运行(当前示例是每40秒运行一次,但是我将对其进行更改)我有一个方法调用它来执行,但是它没有似乎开始了我应该在“工作”课程中启动的任何程序。 我不知道为什么它不触发? 我是否错误地设置了IJobDetail对象或
1回复

Quartz.Net更改JobDetail / JobKey的属性

从版本1.0.x迁移Quartz.net时,我遇到了JobDetails和JobKeys的各种属性“缺少设置器”的问题。 例如,虽然可以在版本1.0.x中设置JobKey的“组”或JobDetail的“ JobDataMap”或属性“ Durable”,但在2.3.2版本中不再可用,因为设
1回复

请求的服务'尚未使用 autofac 在 Quartz.net 中注册

我正在使用 autofac 注册 Quartz,但我遇到了一个问题,我得到了这个: 当在 jobFactory :IjobFactory 类中调用 NewJob 方法时。 工厂类: Autofac 启动类: } 调用安装并实例化 JobFactory 的主类我将从具有所有依赖项的