流程定时启动
- WfProcess表中增加字段
需要增加启动类型和启动作业表达式字段:StartType, StartExpression.
- 流程图中定义定时启动节点
HangFire 作业中存入定时启动流程的(CronExpression表达式设定)方法实例。代码示例如下:
///<summary>
/// 定时启动作业
///</summary>
privatevoid AddJobOfTriggerTimingStartupProcess()
{
var schedulerService = newSchedulerService();
List<ProcessEntity> processList = schedulerService.GetStartupTimingProcessList().ToList();
foreach (var entity in processList)
{
if (entity.IsStartupByTimer == 1 && !String.IsNullOrEmpty(entity.StartupCronExpression))
{
RecurringJob.AddOrUpdate<SchedulerService>(entity.ProcessGUID,
s => s.TriggerTimingStartupProcess(entity),
entity.StartupCronExpression,
TimeZoneInfo.Local);
}
}
}
从流程定义表(WfProcess)找出定时启动的流程记录,判断Cron表达式是否有,然后再加入作业队列即可。