描述

外部任务(external task)是属于业务任务(service task)的一个分支,外部任务需要实现方明确告知其complete任务了,才会流转任务。camunda工作流特有的类型,非常有用。
外部任务指的是任务实现在引擎服务的外面,camunda以下优势都是通过外部任务提供的:

  1. 多语言异构系统,常用语言支持SDK;
  2. 对微服务较好的支持,与业务解耦;
  3. 作为SAAS平台使用,并支持多租户;

这一节在企业应用中非常实用,会讲得很详细,在工作流技术选型时,特有的外部任务基本上是camunda打败竞争对手最有力的武器。

外部任务执行流程

基于REST API实现,官方与社区提供常用语言的SDK。

外部任务的执行大体分三步:

  1. Process Engine: Creation of an external task instance
  2. External Worker: Fetch and lock external tasks(根据TOPIC订阅拉取)
  3. External Worker & Process Engine: Complete ext