1:dispatch//调度方法 告诉集成平台 如何调用接口API和调用参数params
1.1 在调度方法中,第一步是初始化常用变量操作$this->_setVariable();该操作中,主要是定义了页码等一些变量
(
‘MAX_DATA_ID’ => 最大数据ID,
‘LAST_SYNC_TIME’ => 上次同步时间,
‘LAST_WRITE_TIME’ => 上次写入时间,
‘CURRENT_TIME’ => 当前时间,
‘DAYS_AGO_29’ => 29天前,
‘DAYS_AGO_11’ => 11天前,
‘DAYS_AGO_1’ => 1天前,
‘HOURE_AGO_1’ => 1小时前,
‘HOURE_AGO_2’ => 2小时前,
‘HOURE_AGO_3’ => 3小时前,
‘HOURE_AGO_5’ => 5小时前,
‘HOURE_AGO_12’ =>12小时前
‘HOURE_AGO_22’ => 22小时前,
‘MINUTE_AGO_6’ => 6分钟前,
‘MINUTE_AGO_11’ => 11分钟前,
‘MINUTE_AGO_22’ => 22分钟前,
‘MINUTE_AGO_33’ => 33分钟前,
‘MINUTE_AGO_44’ => 44分钟前,
‘MINUTE_AGO_55’ => 55分钟前,
‘PAGINATION_START_ROW’ => 开始页行数,
‘PAGINATION_START_PAGE’ => 开始页码,
‘PAGINATION_PAGE_SIZE’ => 每页大小,
‘MAX_QUERY_RETRISE’ => 1),
然后调用$this->generateRequestParams()方法,该方法中,主要是定义了请求参数。最后得到请求参数。
1.2 得到请求参数$request = $this->generateRequestParams();
1.3 插入源平台查询队列:$jobId = $this->getAsynSourceJobStorage()->insertOne($this->metaData[‘api’], $request);
1.4 排队操作$this->asynSourceJob(1, $jobId);
2:handleResponse 处理响应方法 成功/失败 把数据插入进去
2.1定位响应参数状态,根据响应状态,判断响应成功与否,如果失败调用 $this->handleError($response, $jobId);方法
2.2 定位响应数据,如果是多多数据,则遍历写入数据管理。$this->getDataStorage()->insertOne($id, $number, $obj, $idCheck, $jobId);并记录当前数据多少inserted
2.3 更源队列状态。$this->getAsynSourceJobStorage()->updateResponse($jobId, DataStatus::FINISHED, $response, $inserted);
2.4 如果需要翻页,则定义下一页请求参数,并写入请求队列。
3:connect // 连接方法-如何实例化SDK
3.1 实例化SDK,并调用SDK中connection方法得到连接信息。
4:handelError:处理错误方法,记录错误日志
4.1 标记源平台队列请求状态为错误。$this->getAsynSourceJobStorage()->updateResponse($jobId, DataStatus::ERROR, $response, [], null, $this->active);
4.2 记录错误日志。$this->getLogStorage()->insertOne([‘text’ => LogMessage::INVOKE_FAIL, ‘response’ => $response], LogStatus::ERROR);
4.3 重试机制 $this->reQueue();