工作流任务的超时计算

一、

计算工作流任务的超时时间,即,当任务已分派后,最迟要在某个时间之前处理完,这个最迟时间为超时时间,或称为有效时间。

在计算超时时间时,节假日或非工作时间,如上班前、下班后,都不能计算在内。

二、

startTime:任务的分派时间,即任务的生成时间;

finishTime:任务的超时时间;

duration:超时时长,如8 hour;

onWorkTime:上班时间,如09:00:00;

offWorkTime:下班时间,如17:00:00;

workDure:工作时长,即从上班到下班期间;

leftDure:当天可用的时长;


三、


if  startTime >= 下班时间  then {

    finishTime = 第二天的上班时间;

}else if startTime < 上班时间 then {

   finishTime = 当天的上班时间;

}else  {

  finishTime = startTime;

}

while duration > 0 then {

         if  finish  is 节假日  then{

             finish = 第二天的上班时间;

             continue;

       }else{

               leftDure  = 下班时间 - finishTime;

               if  leftDure >= duration then{

                      finishTime =  finishTime + duration;

                      duration  =  duration - leftDure;

               }else{

                       finishTime = 第二天的上班时间;

                       duration  =  duration - leftDure;

               }

          }

}


....


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值