由于您不需要最近的一天,因此您无法使用 Orchestrator cronjob 的功能。我建议创建一个包装器过程,如下所示:
- 创建一个新进程,我们称之为
StartJobByCheckingDate
- 现在创建一个
StartJobByCheckingDate
每天下午 3 点开始的触发器
- 因此,该流程现在是您所需流程的经理
- 现在我们需要检查是否是第 21 天
- 在这里你有不同的方法来解决它
- 您可以在流程中创建一个
DataTable
甚至是一个,其中包含应触发所需流程的所有不同日期(但这是非常手动的,您可能不想每年更新,因此这可能不是最聪明的,但最简单的解决方案)file
StartJobByCheckingDate
- 另一个想法是检查当天是否是第 21 天。如果是这样,请检查是否是周六/周日(非工作日)。
- 如果
true
:您现在可以在某处创建一个空的虚拟文件,以跟踪 21 日是非工作日,然后在第二天检查该文件是否存在,如果存在,则检查当天是否为工作日,如果是您再次删除文件并开始所需的过程
- 如果
false
:直接启动您想要的过程
我认为 2.idea 会是最好的。当然,您每年有 365 个工作。但是,当您保持该助手进程智能时,这将只是几秒钟。
另一个不使用虚拟文件的想法是使用Entities。更聪明,但需要更多时间来熟悉。