Skip to content

TaskExecutor

type TaskExecutor interface {
TaskIdentifiers() []*workflowsv1.TaskIdentifier
ExecuteTask(ctx context.Context, task *workflowsv1.Task) (*workflowsv1.ExecuteTaskResponse, error)
}

TaskExecutor is the interface used by NewPollingTaskRunner for custom task execution backends.

Use this interface when you need Tilebox to poll and lease tasks, but you want another runtime to execute them.

TaskIdentifiers func() []*workflowsv1.TaskIdentifier

Return the task implementations the executor can currently run. This method should be cheap and non-blocking.

ExecuteTask func(context.Context, *workflowsv1.Task) (*workflowsv1.ExecuteTaskResponse, error)

Execute a leased task and return the computed or failed task response.