flow

package
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewKisFlow

func NewKisFlow(conf *config.KisFlowConfig) kis.Flow

NewKisFlow 创建一个KisFlow.

Types

type KisFlow

type KisFlow struct {
	// 基础信息
	Id   string                // Flow的分布式实例ID(用于KisFlow内部区分不同实例)
	Name string                // Flow的可读名称
	Conf *config.KisFlowConfig // Flow配置策略

	// Function列表
	Funcs    map[string]kis.Function // 当前flow拥有的全部管理的全部Function对象, key: FunctionName
	FlowHead kis.Function            // 当前Flow所拥有的Function列表表头
	FlowTail kis.Function            // 当前Flow所拥有的Function列表表尾

	ThisFunction   kis.Function // Flow当前正在执行的KisFunction对象
	ThisFunctionId string       // 当前执行到的Function ID
	PrevFunctionId string       // 当前执行到的Function 上一层FunctionID
	// contains filtered or unexported fields
}

KisFlow 用于贯穿整条流式计算的上下文环境

func (*KisFlow) AppendNewFunction added in v1.0.3

func (flow *KisFlow) AppendNewFunction(fConf *config.KisFuncConfig, fParams config.FParam) error

AppendNewFunction 将一个新的Function追加到到Flow中

func (*KisFlow) CommitRow

func (flow *KisFlow) CommitRow(row interface{}) error

CommitRow 提交Flow数据, 一行数据,如果是批量数据可以提交多次

func (*KisFlow) CommitRowBatch added in v1.0.3

func (flow *KisFlow) CommitRowBatch(rows interface{}) error

CommitRowBatch 提交Flow数据, 批量数据

func (*KisFlow) Fork

func (flow *KisFlow) Fork(ctx context.Context) kis.Flow

Fork 得到Flow的一个副本(深拷贝)

func (*KisFlow) GetCacheData

func (flow *KisFlow) GetCacheData(key string) interface{}

func (*KisFlow) GetConfig

func (flow *KisFlow) GetConfig() *config.KisFlowConfig

func (*KisFlow) GetConnConf

func (flow *KisFlow) GetConnConf() (*config.KisConnConfig, error)

GetConnConf 得到当前正在执行的Function的Connector的配置

func (*KisFlow) GetConnector

func (flow *KisFlow) GetConnector() (kis.Connector, error)

GetConnector 得到当前正在执行的Function的Connector

func (*KisFlow) GetFuncConfigByName

func (flow *KisFlow) GetFuncConfigByName(funcName string) *config.KisFuncConfig

GetFuncConfigByName 得到当前Flow的配置

func (*KisFlow) GetFuncParam

func (flow *KisFlow) GetFuncParam(key string) string

GetFuncParam 得到Flow的当前正在执行的Function的配置默认参数,取出一对key-value

func (*KisFlow) GetFuncParamAll

func (flow *KisFlow) GetFuncParamAll() config.FParam

GetFuncParamAll 得到Flow的当前正在执行的Function的配置默认参数,取出全部Key-Value

func (*KisFlow) GetFuncParamsAllFuncs

func (flow *KisFlow) GetFuncParamsAllFuncs() map[string]config.FParam

GetFuncParamsAllFuncs 得到Flow中所有Function的FuncParams,取出全部Key-Value

func (*KisFlow) GetId added in v1.0.3

func (flow *KisFlow) GetId() string

func (*KisFlow) GetMetaData

func (flow *KisFlow) GetMetaData(key string) interface{}

GetMetaData 得到当前Flow对象的临时数据

func (*KisFlow) GetName

func (flow *KisFlow) GetName() string

func (*KisFlow) GetThisFuncConf

func (flow *KisFlow) GetThisFuncConf() *config.KisFuncConfig

func (*KisFlow) GetThisFunction

func (flow *KisFlow) GetThisFunction() kis.Function

func (*KisFlow) Input

func (flow *KisFlow) Input() common.KisRowArr

Input 得到flow当前执行Function的输入源数据

func (flow *KisFlow) Link(fConf *config.KisFuncConfig, fParams config.FParam) error

Link 将Function链接到Flow中, 同时会将Function的配置参数添加到Flow的配置中 fConf: 当前Function策略 fParams: 当前Flow携带的Function动态参数

func (*KisFlow) Next

func (flow *KisFlow) Next(acts ...kis.ActionFunc) error

Next 当前Flow执行到的Function进入下一层Function所携带的Action动作

func (*KisFlow) Run

func (flow *KisFlow) Run(ctx context.Context) error

Run 启动KisFlow的流式计算, 从起始Function开始执行流

func (*KisFlow) SetCacheData

func (flow *KisFlow) SetCacheData(key string, value interface{}, Exp time.Duration)

func (*KisFlow) SetMetaData

func (flow *KisFlow) SetMetaData(key string, value interface{})

SetMetaData 设置当前Flow对象的临时数据

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL