将一组工作链接到另一组工作

时间:2018-06-13 07:20:19

标签: quartz-scheduler quartz.net

我有一个长期运行的Windows服务,有几个一次性作业(没有间隔)。有一组用于建立连接,一组用于设置监听器。

我想首先建立所有连接(可以并发运行),并且在所有连接成功后,我想启动侦听器组作业。

简而言之,我想将一个小组(当成功时)链接到另一个小组。组中的作业可以同时运行。

我已经读过触发组是不可能的,但还有其他简单的方法可以实现吗?

1 个答案:

答案 0 :(得分:1)

可能有几种方法可以做到这一点。一种方法是设置一个作业侦听器,以侦听作业组。所有作业完成后,侦听器可以安排或解雇下一组作业。

Tutorial to create your own listener

scheduler.ListenerManager.AddJobListener(myJobListener,
OrMatcher<JobKey>.Or(GroupMatcher<JobKey>.GroupEquals("myJobGroup"), GroupMatcher<JobKey>.GroupEquals("yourGroup")));

另一个选择是创建一个每分钟(或任何时候)运行的作业,并检查事物的状态。一旦发现所有必要的连接都可用,就可以触发下一批作业,等等。