轻易云数据集成平台源平台调度者生命周期详细解析

  • 系统对接顾问

轻易云数据集成平台:源平台调度者生命周期详解

轻易云数据集成平台提供了完整的数据处理流程,包括数据抽取、清洗、转换及转发等关键步骤。本文将深入探讨“数据抽取”阶段的核心组件——源平台调度者的生命周期管理及操作流程,帮助开发工程师充分理解并有效实施数据集成方案。

定时任务调度

调度者分配与配置

轻易云平台预设了20个调度者(dispatcher-0至dispatcher-19),通过Linux crontab计划任务每分钟执行一次调度命令。在数据集成方案配置页面中,用户可以指定“调度号”来分配特定调度者,以优化性能和防止单个调度者的任务阻塞。

调度命令执行

每个调度者执行以下命令:

cd ./dispatcher && php dispatcher-[0~19] schedule:run

根据分配的“调度号”识别并启动相应的集成方案。

集成方案遍历与调度命令生成

异步方案识别

在遍历集成方案时,首先排除非异步方案,这些通常由事件触发或外部系统激活。

调度命令创建

对于需要调度的方案,将创建一个或多个调度命令,例如:

dispatch:datahub [task_id] --source --asyn

以及对应目标平台的调度命令。这些命令将根据crontab延迟执行。

补漏命令生成

如果集成方案配置了补漏措施,则会创建一个特殊的补漏命令,例如:

dispatch:datahub [task_id] --source --asyn --omission

按照配置的补漏crontab执行。

调度命令执行与队列管理

调度命令激活

到达指定时间点后,创建的调度命令将被激活,转化为特定格式并放入AsynDispatcher队列池中排队,等待处理。

队列池任务消费

AsynDispatcher队列池将对排队任务进行处理,包括确认任务启动条件、检查是否满足条件,并执行具体的工作。

适配器加载与任务调动

适配器加载

首先加载集成方案配置的源平台适配器。

任务调用执行

适配器初始化后,调用$adapter->dispatch()方法完成具体任务,包括插入日志、生成请求参数、写入存储和排队等步骤。

异步队列池任务消费

异步队列池(AsynDispatcher)是数据抽取阶段核心。以下是从验证到执行详细步骤:

任务验证与条件检查

任务状态确认

消费前确认是否处于启动状态,并检查是否满足条件。这包括验证有无前置任务正在执行,以确保顺序性和依赖性。

条件满足后的处理

一旦确认满足所有条件,系统调用Instance::handleSourceDispatch方法来执行工作。

适配器操作与实际运作

适配器加载与初始化

系统加载指定源平台适配器,并初始化参数。

执行适配器方法

初始化后,调用dispatch()方法,包括插入开始日志、生成请求参数、写入存储和插入结束日志等步骤。

数据抽取与处理

适配器完成后涉及实际数据抽取和处理:

数据抽取过程

获取详情

根据ID,从异步源存储获取详细信息,包括请求参数等。

连接与操作

尝试连接到源平台,确保成功后,通过调用invoke()方法完成具体操作。

数据加工转换

响应处理

处理响应数据,包括检查状态、成功或失败响应,以及进一步加工成功响应的数据。

加工转换

可能触发脚本加工厂,对数据进行加工和转换,以符合需求。

状态管理与日志记录

在过程中,其状态管理和日志记录至关重要:

状态更新

完成标记

完成后标记为“已完成”,确保正确跟踪结果。

错误重排

如失败,将记录异常并判断是否需重新排队。

日志记录

调动日志

从开始到结束记录详细日志,包括时间及重要变更信息。

适配器日志

记录操作过程中的连接状态、结果等,以便诊断优化。

更多系统对接方案