首页 > 其他分享 >Activities:定时器事件

Activities:定时器事件

时间:2023-03-10 11:01:25浏览次数:48  
标签:Activities 定时器 流程 System task 事件 println out

Activities:定时器事件

涉及核心表:ACT_RU_TIMER_JOB

开始定时器事件

  • 可以设置时间,定时开始启动流程实例。

  • 部署流程后,不用 startProcessInstanceByXxxx 启动流程实例,而是到达设定时间后自动启动。

  • 到达设定时间后,查询下是否有对应的流程实例。

  • 触发时间**(ISO-8601格式标准)**:

    表示何时触发,标签元素<timeDate> ,时间格式时ISO 8601的固定格式,如:

    <timerEventDefinition>
    <timeDate>2023-03-09T18:18:18</timeDate>
    </timerEventDefinition>

    2023-03-09T18:18:18 -> T是日期和时间分割标记.

  • 持续时间**(例如** PT5M)

    表示定时器经过多少时间后触发;标签元素 <timeDuration> ,时间格式为ISO 8601的PT格式,如:

    <timerEventDefinition>
    <timeDuration>PT10S</timeDuration>
    </timerEventDefinition>

    要设置 一年两个月三天四小时五分六秒 ,可以写成 P1Y2M3DT4H5M6S

    P 是开始标记,T 是日期和时间分割标记。没有日期只有时间T**是不能省去**,只有日期没有时间T直接省去比如:1小时后执行应该写成 PT1H ,10秒后执行 PT10S ,3天后执行 P3D 。

  • 时间周期 (e.g. R3/PT10H)

    表示重复触发的间隔时间;标签元素 <timeCycle> ,时间格式为ISO 8601的PT格式或Rn格式或变量,如:

    <timerEventDefinition>
    <timeCycle>R3/PT10H</timeCycle>
    </timerEventDefinition>
    • R 表示永远重复;R1 重复一次;R231重复231次

    • R3/PT10H 表示重复3次每次间隔10小时

根据上图部署流程定义,然后10秒后观察是否有相关的流程实例...

通过模型数据部署流程定义:https://www.cnblogs.com/wangshaoyun/p/17150560.html

边界定时器事件

用于向某节点上添加边界定时事件,流程图如下:

注意:报如下错误,检查边界定时器连线问题,删除定时器符号重新绘制。

根据上图流程图启动流程
@Autowired
RuntimeService runtimeService;
@Autowired
TaskService taskService;
​
@Test
public void start() throws Exception {
    //启动流程实例
    runtimeService.startProcessInstanceByKey("testTimer2");
​
    List<Task> tasks = taskService.createTaskQuery()
            .processDefinitionKey("testTimer2")
            .list();
​
    for (Task task : tasks) {
        System.out.println("当前的任务信息:");
        System.out.println("任务id:"+task.getId());
        System.out.println("任务名称:"+task.getName());
    }
​
    //等待20s
    Thread.sleep(20*1000);
    //查询任务办理情况
     tasks = taskService.createTaskQuery()
            .processDefinitionKey("testTimer2")
            .list();
​
    for (Task task : tasks) {
        System.out.println("20s后的任务信息:");
        System.out.println("任务id:"+task.getId());
        System.out.println("任务名称:"+task.getName());
    }
}

标签:Activities,定时器,流程,System,task,事件,println,out
From: https://www.cnblogs.com/wangshaoyun/p/17202651.html

相关文章

  • 【IDEA】无语问苍天的事件
    事件描述在一个项目上,一开始都是很正常地开发,运行然后呢,突然就冒出了一个问题,SLF4J:Failedtoloadclass"org.slf4j.impl.StaticLoggerBinder".SLF4J:Defaultingt......
  • 华为OD机考 事件推送
    事件推送......
  • 【JavaScript】——input元素的oninput事件和onchange事件
    //第一种:直接在元素标签上添加oninput属性,属性值为处理事件函数的调用<inputtype="text"id="input"oninput="handleInput()"></input>functionhandleInput(){ ......
  • 04、复杂事件处理(CEP)简介
    复合事件架构是由史丹佛大学的DavidLuckham与BrianFraseca所提出,使用模式比对、事件的相互关系、事件间的聚合关系,目的从事件云(eventcloud)中找出有意义的事件,使得IT架构......
  • 05、复杂事件处理(CEP)引擎简介
    目前已有的CEP引擎根据事件处理语言可以分为两大类:面向流和面向规则的CEP引擎。面向流的CEP引擎有MicrosoftStreamlnsight、OracleCEP、IBMSPADE、Esper等。而面向规则......
  • FastAPI 启动事件 tart_event(),停止事件shutdown_event()
    作用需要在应用程序启动之前或者关闭时进行,例如数据库迁移,定时任务·····实际代码main.pyimportuvicornfromappimportcreate_appapp=create_app()if......
  • 关于Android事件分发的设计模式理解与思考
    关于Android事件分发的设计模式理解与思考在现在Android智能机上,触碰几乎成为了唯一的交互方式。那么触碰消息在Android系统当中怎么进行分发的呢?在事件分发处理上,Androi......
  • 阐述⼀下 JS 的事件循环
    事件循环⼜叫做消息循环,是浏览器渲染主线程的⼯作⽅式。在Chrome的源码中,它开启⼀个不会结束的for循环,每次循环从消息队列中取出第⼀个任务执⾏,⽽其他线程只需要在合......
  • VUE定时器任务(每天12点执行)
    原文链接:https://blog.csdn.net/ITERCHARLIE/article/details/124447463设定配置datadata(){config:{time:'00:00:00',//每天几点执行interval:1,......
  • WPF MVVM框架------ Prism中的事件聚合器(IEventAggregator)
    在.net中,事件的订阅和发布使用比较简单,但具有依赖关系。Prism框架中提供的事件聚合器,可实现多点传送发布/订阅功能,可以用于ViewModel与ViewModel、ViewModel与View以及模......