配置事件调度程序

云眼About 2 min

配置事件调度程序

本主题介绍如何为云眼灰度发布(特性标帜)AB实验 JavaScript(节点)SDK 中每次展示或转化发出的 HTTP 请求配置事件调度程序。

云眼灰度发布(特性标帜)AB实验 SDK 为每个触发的决策事件或转化事件发出 HTTP 请求。每个 SDK 都有一个内置的事件调度程序来处理这些事件,但我们建议根据环境的具体情况重写它。

节点开发工具包具有开箱即用的异步调度程序。建议自定义在生产中使用的事件调度程序,以确保以可扩展到应用程序处理的卷的方式对事件进行排队和发送。通过自定义事件调度程序,可以有效地处理大型事件量。或者在请求失败时实现重试逻辑。可以从头开始构建调度程序,也可以从提供的调度程序开始。

这些示例显示,要自定义事件调度程序,请使用事件调度程序实例初始化 Eyeofcloud 客户端(或管理器)。该示例适用于 3.0.0 和 3.0.1 SDK。

Node

// Client with defaultEventDispatcher 
// 3.0.0 SDK 
const defaultEventDispatcher = require("@eyeofcloud/eyeofcloud-sdk/lib/plugins/event_dispatcher/index.node");  

// 3.0.1 SDK and above 
const defaultEventDispatcher = require('@eyeofcloud/eyeofcloud-sdk').eventDispatcher;  

// Create an Eyeofcloud client with the default event dispatcher 
var eyeofcloudClientWithDefaultDispatcher = eyeofcloud.createInstance({   
    datafile,   eventDispatcher: defaultEventDispatcher 
});

事件调度程序应实现一个dispatchEvent函数,该函数接受三个参数:httpVerburlparams,所有这些都由内部类EventBuilder创建。在此函数中,应该使用params作为请求url的主体(确保将其字符串化为 JSON)和标头中{content-type: 'application/json'}向给定的请求发送POST请求。

🚧 重要

如果使用的是自定义事件调度程序,请不要修改从云眼灰度发布(特性标帜)AB实验返回的事件负载。修改此有效负载将更改结果。

Last update:
Contributors: “zhangweixue”,zhangweixue