Documentation
¶
Index ¶
- func LazyBootstrapWorker(actionID string, h func(c InputMessageContext, m InputMessage) error) error
- type InitMongodDBWorkflowStorageAdapterOpt
- type InitNATSWorkerMessengerAdapterOpt
- type InitNATSWorkflowMessengerAdapterOpt
- type InputMessage
- type InputMessageContext
- type MDWorkflowAction
- type MDWorkflowActionDep
- type MDWorkflowSessionContext
- type Mapper
- type MapperMode
- type MongodDBWorkflowStorageAdapter
- func (w *MongodDBWorkflowStorageAdapter) AddAction(ctx context.Context, workflowID, key, actionID string, conf map[string]string, ...) (*WorkflowAction, error)
- func (w *MongodDBWorkflowStorageAdapter) AddDep(ctx context.Context, workflowID, key, metaOutput, depKey string) error
- func (w *MongodDBWorkflowStorageAdapter) Close(ctx context.Context) error
- func (w *MongodDBWorkflowStorageAdapter) CreateSessionContext(ctx context.Context, workflowID, sessionID, taskID string, ...) error
- func (w *MongodDBWorkflowStorageAdapter) DeleteSessionContext(ctx context.Context, workflowID, sessionID, taskID string) error
- func (w *MongodDBWorkflowStorageAdapter) GetSessionContext(ctx context.Context, workflowID, sessionID, taskID string) (map[string]map[string]interface{}, error)
- func (w *MongodDBWorkflowStorageAdapter) QueryWorkflowAction(ctx context.Context, workflowID, key string) (*WorkflowAction, error)
- func (w *MongodDBWorkflowStorageAdapter) QueryWorkflowActionDependencies(ctx context.Context, workflowID, key, metaOutput string) ([]WorkflowAction, error)
- type NATSWorkerMessengerAdapter
- func (m *NATSWorkerMessengerAdapter) Close(ctx context.Context) error
- func (m *NATSWorkerMessengerAdapter) ListenInputMessages(ctx context.Context, h func(c InputMessageContext, message InputMessage) error) error
- func (m *NATSWorkerMessengerAdapter) SendOutputMessage(ctx context.Context, message OutputMessage) error
- func (m *NATSWorkerMessengerAdapter) SendTriggerMessage(ctx context.Context, message TriggerMessage) error
- type NATSWorkflowMessengerAdapter
- func (m *NATSWorkflowMessengerAdapter) Close(ctx context.Context) error
- func (m *NATSWorkflowMessengerAdapter) ListenOutputMessages(ctx context.Context, ...) error
- func (m *NATSWorkflowMessengerAdapter) ListenTriggerMessages(ctx context.Context, ...) error
- func (m *NATSWorkflowMessengerAdapter) SendInputMessage(ctx context.Context, message InputMessage) error
- type NatsInputMessage
- type NatsOutputMessage
- type NatsTriggerMessage
- type OutputMessage
- type OutputMessageContext
- type TriggerMessage
- type TriggerMessageContext
- type Worker
- type WorkerMessengerAdapter
- type Workflow
- type WorkflowAction
- type WorkflowMessengerAdapter
- type WorkflowStorageAdapter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LazyBootstrapWorker ¶
func LazyBootstrapWorker(actionID string, h func(c InputMessageContext, m InputMessage) error) error
Types ¶
type InitMongodDBWorkflowStorageAdapterOpt ¶
type InitMongodDBWorkflowStorageAdapterOpt struct {
BetaAutoSetupSchema bool
}
type InitNATSWorkerMessengerAdapterOpt ¶
type InitNATSWorkerMessengerAdapterOpt struct {
BetaAutoSetupNATS bool
}
type InitNATSWorkflowMessengerAdapterOpt ¶
type InitNATSWorkflowMessengerAdapterOpt struct {
BetaAutoSetupNATS bool
}
type InputMessage ¶
type InputMessage struct {
SessionID string
TaskID string
WorkflowID string
// TODO
// WorkflowActionID string
Key string
ActionID string
Values string
}
func (*InputMessage) ToOutputMessage ¶
func (m *InputMessage) ToOutputMessage(metaOutput, values string) OutputMessage
type InputMessageContext ¶
type MDWorkflowAction ¶
type MDWorkflowActionDep ¶
type MDWorkflowSessionContext ¶
type MDWorkflowSessionContext struct {
ID string `bson:"_id"`
WorkflowID string `bson:"workflow_id"` // Composite unique index
SessionID string `bson:"session_id"` // Composite unique index
TaskID string `bson:"task_id"` // Composite unique index
Value map[string]map[string]interface{} `bson:"value"`
}
type Mapper ¶
type Mapper struct {
Mode MapperMode `json:"mode"`
Value string `json:"value"`
}
type MapperMode ¶
type MapperMode string
var ( MapperModeFixed MapperMode = "fixed" MapperModeKey MapperMode = "key" MapperModeExpression MapperMode = "expression" )
type MongodDBWorkflowStorageAdapter ¶
type MongodDBWorkflowStorageAdapter struct {
// contains filtered or unexported fields
}
func InitMongodDBWorkflowStorageAdapter ¶
func InitMongodDBWorkflowStorageAdapter(ctx context.Context, opt InitMongodDBWorkflowStorageAdapterOpt) (*MongodDBWorkflowStorageAdapter, error)
func NewMongodDBWorkflowStorageAdapter ¶
func NewMongodDBWorkflowStorageAdapter(client *mongo.Client, db *mongo.Database) *MongodDBWorkflowStorageAdapter
func (*MongodDBWorkflowStorageAdapter) AddAction ¶
func (w *MongodDBWorkflowStorageAdapter) AddAction(ctx context.Context, workflowID, key, actionID string, conf map[string]string, m map[string]Mapper) (*WorkflowAction, error)
func (*MongodDBWorkflowStorageAdapter) AddDep ¶
func (w *MongodDBWorkflowStorageAdapter) AddDep( ctx context.Context, workflowID, key, metaOutput, depKey string, ) error
func (*MongodDBWorkflowStorageAdapter) Close ¶
func (w *MongodDBWorkflowStorageAdapter) Close(ctx context.Context) error
func (*MongodDBWorkflowStorageAdapter) CreateSessionContext ¶ added in v1.1.0
func (*MongodDBWorkflowStorageAdapter) DeleteSessionContext ¶ added in v1.1.0
func (w *MongodDBWorkflowStorageAdapter) DeleteSessionContext(ctx context.Context, workflowID, sessionID, taskID string) error
func (*MongodDBWorkflowStorageAdapter) GetSessionContext ¶ added in v1.1.0
func (*MongodDBWorkflowStorageAdapter) QueryWorkflowAction ¶
func (w *MongodDBWorkflowStorageAdapter) QueryWorkflowAction(ctx context.Context, workflowID, key string) (*WorkflowAction, error)
func (*MongodDBWorkflowStorageAdapter) QueryWorkflowActionDependencies ¶
func (w *MongodDBWorkflowStorageAdapter) QueryWorkflowActionDependencies(ctx context.Context, workflowID, key, metaOutput string) ([]WorkflowAction, error)
type NATSWorkerMessengerAdapter ¶
type NATSWorkerMessengerAdapter struct {
// contains filtered or unexported fields
}
func InitNATSWorkerMessengerAdapter ¶
func InitNATSWorkerMessengerAdapter(ctx context.Context, actionID string, opt InitNATSWorkerMessengerAdapterOpt) (*NATSWorkerMessengerAdapter, error)
func (*NATSWorkerMessengerAdapter) Close ¶
func (m *NATSWorkerMessengerAdapter) Close(ctx context.Context) error
func (*NATSWorkerMessengerAdapter) ListenInputMessages ¶
func (m *NATSWorkerMessengerAdapter) ListenInputMessages(ctx context.Context, h func(c InputMessageContext, message InputMessage) error) error
func (*NATSWorkerMessengerAdapter) SendOutputMessage ¶
func (m *NATSWorkerMessengerAdapter) SendOutputMessage(ctx context.Context, message OutputMessage) error
func (*NATSWorkerMessengerAdapter) SendTriggerMessage ¶
func (m *NATSWorkerMessengerAdapter) SendTriggerMessage(ctx context.Context, message TriggerMessage) error
type NATSWorkflowMessengerAdapter ¶
type NATSWorkflowMessengerAdapter struct {
// contains filtered or unexported fields
}
func InitNATSWorkflowMessengerAdapter ¶
func InitNATSWorkflowMessengerAdapter(ctx context.Context, opt InitNATSWorkflowMessengerAdapterOpt) (*NATSWorkflowMessengerAdapter, error)
func (*NATSWorkflowMessengerAdapter) Close ¶
func (m *NATSWorkflowMessengerAdapter) Close(ctx context.Context) error
func (*NATSWorkflowMessengerAdapter) ListenOutputMessages ¶
func (m *NATSWorkflowMessengerAdapter) ListenOutputMessages(ctx context.Context, h func(c OutputMessageContext, message OutputMessage) error) error
func (*NATSWorkflowMessengerAdapter) ListenTriggerMessages ¶
func (m *NATSWorkflowMessengerAdapter) ListenTriggerMessages(ctx context.Context, h func(c TriggerMessageContext, message TriggerMessage) error) error
func (*NATSWorkflowMessengerAdapter) SendInputMessage ¶
func (m *NATSWorkflowMessengerAdapter) SendInputMessage(ctx context.Context, message InputMessage) error
type NatsInputMessage ¶
type NatsInputMessage struct {
SessionID string `json:"session_id"`
TaskID string `json:"task_id"`
WorkflowID string `json:"workflow_id"`
// TODO
// WorkflowActionID string `json:"workflow_action_id"`
Key string `json:"key"`
ActionID string `json:"action_id"`
Values string `json:"values"`
}
func (*NatsInputMessage) ToInputMessage ¶
func (n *NatsInputMessage) ToInputMessage() InputMessage
type NatsOutputMessage ¶
type NatsOutputMessage struct {
SessionID string `json:"session_id"`
TaskID string `json:"task_id"`
WorkflowID string `json:"workflow_id"`
// TODO
// WorkflowActionID string `json:"workflow_action_id"`
MetaOutput string `json:"meta_output"`
Key string `json:"key"`
ActionID string `json:"action_id"`
Values string `json:"values"`
}
func (NatsOutputMessage) FromOutputMessage ¶
func (n NatsOutputMessage) FromOutputMessage(message OutputMessage) NatsOutputMessage
func (*NatsOutputMessage) ToOutputMessage ¶
func (n *NatsOutputMessage) ToOutputMessage() OutputMessage
type NatsTriggerMessage ¶
type NatsTriggerMessage struct {
WorkflowID string `json:"workflow_id"`
// TODO
// WorkflowActionID string `json:"workflow_action_id"`
MetaOutput string `json:"meta_output"`
Key string `json:"key"`
ActionID string `json:"action_id"`
Values string `json:"values"`
}
func (NatsTriggerMessage) FromTriggerMessage ¶
func (n NatsTriggerMessage) FromTriggerMessage(message TriggerMessage) NatsTriggerMessage
func (*NatsTriggerMessage) ToTriggerMessage ¶
func (n *NatsTriggerMessage) ToTriggerMessage() TriggerMessage
type OutputMessage ¶
type OutputMessageContext ¶
type TriggerMessage ¶
type TriggerMessageContext ¶
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
func InitDefaultWorker ¶
func (*Worker) Run ¶
func (w *Worker) Run(ctx context.Context, h func(c InputMessageContext, m InputMessage) error) error
func (*Worker) SendTriggerMessage ¶
func (w *Worker) SendTriggerMessage(ctx context.Context, m TriggerMessage) error
type WorkerMessengerAdapter ¶
type WorkerMessengerAdapter interface {
ListenInputMessages(ctx context.Context, h func(c InputMessageContext, message InputMessage) error) error
SendTriggerMessage(ctx context.Context, message TriggerMessage) error
SendOutputMessage(ctx context.Context, message OutputMessage) error
Close(ctx context.Context) error
}
type Workflow ¶
type Workflow struct {
// contains filtered or unexported fields
}
func InitWorkflow ¶
func InitWorkflow( messenger WorkflowMessengerAdapter, storage WorkflowStorageAdapter, ) *Workflow
func (*Workflow) Messenger ¶
func (w *Workflow) Messenger() WorkflowMessengerAdapter
func (*Workflow) Storage ¶
func (w *Workflow) Storage() WorkflowStorageAdapter
type WorkflowAction ¶
type WorkflowMessengerAdapter ¶
type WorkflowMessengerAdapter interface {
ListenTriggerMessages(ctx context.Context, h func(c TriggerMessageContext, message TriggerMessage) error) error
ListenOutputMessages(ctx context.Context, h func(c OutputMessageContext, message OutputMessage) error) error
SendInputMessage(ctx context.Context, message InputMessage) error
Close(ctx context.Context) error
}
type WorkflowStorageAdapter ¶
type WorkflowStorageAdapter interface {
QueryWorkflowAction(ctx context.Context, workflowID, key string) (*WorkflowAction, error)
QueryWorkflowActionDependencies(ctx context.Context, workflowID, key, metaOutput string) ([]WorkflowAction, error)
AddAction(ctx context.Context, workflowID, key, actionID string, conf map[string]string, m map[string]Mapper) (*WorkflowAction, error)
AddDep(ctx context.Context, workflowID, key, metaOutput, key2 string) error
GetSessionContext(ctx context.Context, workflowID, sessionID, taskID string) (map[string]map[string]interface{}, error)
CreateSessionContext(ctx context.Context, workflowID, sessionID, taskID string, value map[string]map[string]interface{}) error
DeleteSessionContext(ctx context.Context, workflowID, sessionID, taskID string) error
Close(ctx context.Context) error
}
Click to show internal directories.
Click to hide internal directories.