描述
外部任务(external task)是属于业务任务(service task)的一个分支,外部任务需要实现方明确告知其complete任务了,才会流转任务。camunda工作流特有的类型,非常有用。
外部任务指的是任务实现在引擎服务的外面,camunda以下优势都是通过外部任务提供的:
- 多语言异构系统,常用语言支持SDK;
- 对微服务较好的支持,与业务解耦;
- 作为SAAS平台使用,并支持多租户;
这一节在企业应用中非常实用,会讲得很详细,在工作流技术选型时,特有的外部任务基本上是camunda打败竞争对手最有力的武器。
外部任务执行流程
基于REST API实现,官方与社区提供常用语言的SDK。
外部任务的执行大体分三步:
- Process Engine: Creation of an external task instance
- External Worker: Fetch and lock external tasks(根据TOPIC订阅拉取)
- External Worker & Process Engine: Complete ext