Documentation ¶
Index ¶
- Constants
- func AppendEventDataToContext(parentCtx context.Context, data map[string]string) context.Context
- func ExtractEventDataFromContext(ctx context.Context) (map[string]string, bool)
- func Factories() map[string]Factory
- func GetHandleStartTimeFromContext(ctx context.Context) time.Time
- func GetHandlerEventIdFromContext(ctx context.Context) string
- func GetLogger(ref string) log.Logger
- func LegacyRegister(ref string, f Factory) error
- func NewContextWithEventId(parentCtx context.Context, eventId string) context.Context
- func NewHandlerContext(parentCtx context.Context, config *HandlerConfig) context.Context
- func PostHandlerEvent(hStatus Status, hName, tName string, data map[string]string)
- func PostTriggerEvent(tStatus Status, name string)
- func Register(trigger Trigger, f Factory) error
- type ActionConfig
- type Config
- type Descriptor
- type EventFlowControlAware
- type Factory
- type Handler
- type HandlerConfig
- type HandlerEvent
- type HandlerEventConfig
- type HandlerInfo
- type InitContext
- type Metadata
- type ReconfigurableTrigger
- type SchemaConfig
- type Status
- type Trigger
- type TriggerEvent
Constants ¶
const ( INITIALIZING = "Initializing" INITIALIZED = "Initialized" INIT_FAILED = "InitFailed" STARTED = "Started" STOPPED = "Stopped" FAILED = "Failed" COMPLETED = "Completed" TriggerEventType = "triggerevent" )
Variables ¶
This section is empty.
Functions ¶
func AppendEventDataToContext ¶
NewContextWithEventData add event data to a new child context. This event data will be associated handler events.
func ExtractEventDataFromContext ¶
ExtractEventDataFromContext returns the event data stored in the context, if any.
func NewContextWithEventId ¶
NewContextWithEventId new context by adding event id to the context
func NewHandlerContext ¶
func NewHandlerContext(parentCtx context.Context, config *HandlerConfig) context.Context
NewHandlerContext add the handler info to a new child context
func PostHandlerEvent ¶
Publish handler event
func PostTriggerEvent ¶
Types ¶
type ActionConfig ¶
type ActionConfig struct { *action.Config If string `json:"if,omitempty"` Input map[string]interface{} `json:"input,omitempty"` Output map[string]interface{} `json:"output,omitempty"` Act action.Action `json:"-,omitempty"` }
ActionConfig is the configuration for the Action
type Config ¶
type Config struct { Id string `json:"id"` Ref string `json:"ref"` Settings map[string]interface{} `json:"settings"` Handlers []*HandlerConfig `json:"handlers"` //DEPRECATED Type string `json:"type,omitempty"` }
Config is the configuration for a Trigger
type Descriptor ¶
type EventFlowControlAware ¶
type EventFlowControlAware interface { // Resume suspended trigger Resume() error // Pause trigger Pause() error }
EventFlowControlAware trigger can be paused or resumed by the engine
type Factory ¶
type Factory interface { // Metadata returns the metadata of the trigger Metadata() *Metadata // New create a new Trigger New(config *Config) (Trigger, error) }
Factory is used to create new instances of a trigger
func GetFactory ¶
type Handler ¶
type Handler interface { Name() string Logger() log.Logger Settings() map[string]interface{} Schemas() *SchemaConfig Handle(ctx context.Context, triggerData interface{}) (map[string]interface{}, error) }
func NewHandler ¶
type HandlerConfig ¶
type HandlerConfig struct { Name string `json:"name,omitempty"` Settings map[string]interface{} `json:"settings"` Actions []*ActionConfig `json:"actions"` Schemas *SchemaConfig `json:"schemas,omitempty"` // contains filtered or unexported fields }
func (*HandlerConfig) UnmarshalJSON ¶
func (hc *HandlerConfig) UnmarshalJSON(d []byte) error
UnmarshalJSON overrides the default UnmarshalJSON for TaskInst
type HandlerEvent ¶
type HandlerEvent interface { // Name of trigger this handler belongs to TriggerName() string // Name of the handler HandlerName() string // Status of handler. Valid status - INITIALIZED, STARTED, COMPLETED, FAILED Status() Status // Handler specific tags set by the underlying implementation e.g. method and path by REST trigger handler or // topic name by Kafka trigger handler. This is useful when peek view of trigger(and handlers) is desired. Tags() map[string]string }
type HandlerEventConfig ¶
type HandlerEventConfig interface { // SetDefaultEventData sets the default event data to use for a handler SetDefaultEventData(data map[string]string) }
HandlerEventConfig is an interface that can be used to set the default event data that is used in handler events
type HandlerInfo ¶
func HandlerFromContext ¶
func HandlerFromContext(ctx context.Context) (*HandlerInfo, bool)
HandlerFromContext returns the handler info stored in the context, if any.
type InitContext ¶
type InitContext interface { // Logger the logger for the trigger Logger() log.Logger // GetHandlers gets the handlers associated with the trigger GetHandlers() []Handler }
InitContext is the initialization context for the trigger instance
type Metadata ¶
type Metadata struct { Settings map[string]data.TypedValue HandlerSettings map[string]data.TypedValue Output map[string]data.TypedValue Reply map[string]data.TypedValue //DEPRECATED ID string }
func NewMetadata ¶
func NewMetadata(mdStructs ...interface{}) *Metadata
type ReconfigurableTrigger ¶
type ReconfigurableTrigger interface { // Reconfigure is called to reconfigure trigger implementation Reconfigure(config *Config, handlers []Handler) error }
ReconfigurableTrigger is object that supports dynamic reconfiguration of trigger
type SchemaConfig ¶
type Trigger ¶
type Trigger interface { managed.Managed // Initialize is called to initialize the Trigger Initialize(ctx InitContext) error }
Trigger is object that triggers/starts flow instances and is managed by an engine
type TriggerEvent ¶
type TriggerEvent interface { // Name of trigger Name() string // Status of trigger. Valid status - INITIALIZING, INITIALIZED, STARTED, STOPPED, FAILED Status() Status }
Trigger Event