Skip to content

Task

go
type Task interface{}

Base interface for Tilebox workflows tasks. It doesn’t need to be identifiable or executable, but it can be both (see below).

Methods

go
Task.Execute(ctx context.Context) error

The entry point for the execution of the task. If not defined, the task can’t be registered with a runner but can still be submitted.

go
Task.Identifier() TaskIdentifier

Provides a user-defined task identifier. The identifier is used to uniquely identify the task and specify its version. If not defined, the runner will generate an identifier for it using reflection.

JSON-serializable task

go
type SampleTask struct {
	Message      string
	Depth        int
	BranchFactor int
}

Optional task input parameters, defined as struct fields. Supported types are all types supported by json.Marshal.

Protobuf-serializable task

go
type SampleTask struct {
	examplesv1.SpawnWorkflowTreeTask
}

Task can also be defined as a protobuf message. An example using task protobuf messages can be found here.

Type to search…