轻易云数据集成平台源平台调度者生命周期详细解析
轻易云数据集成平台:源平台调度者生命周期详解
轻易云数据集成平台提供了完整的数据处理流程,包括数据抽取、清洗、转换及转发等关键步骤。本文将深入探讨“数据抽取”阶段的核心组件——源平台调度者的生命周期管理及操作流程,帮助开发工程师充分理解并有效实施数据集成方案。
定时任务调度
调度者分配与配置
轻易云平台预设了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()方法完成具体操作。
数据加工转换
响应处理
处理响应数据,包括检查状态、成功或失败响应,以及进一步加工成功响应的数据。
加工转换
可能触发脚本加工厂,对数据进行加工和转换,以符合需求。
状态管理与日志记录
在过程中,其状态管理和日志记录至关重要:
状态更新
完成标记
完成后标记为“已完成”,确保正确跟踪结果。
错误重排
如失败,将记录异常并判断是否需重新排队。
日志记录
调动日志
从开始到结束记录详细日志,包括时间及重要变更信息。
适配器日志
记录操作过程中的连接状态、结果等,以便诊断优化。
Copyright Notice
The article "轻易云数据集成平台源平台调度者生命周期详细解析" is original content owned by 广东轻亿云软件科技有限公司. Reposting, quoting, copying or mirroring is strictly prohibited without written authorization. Please contact us for authorization and credit the author and source (including the original link) prominently.