workflows.SubmitSubtask(
ctx context.Context,
task workflows.Task,
options ...subtask.SubmitOption,
) (subtask.FutureTask, error)
Submit a subtask to the task runner.
This function is intended to be used in tasks.
Parameters
Options
WithDependencies(dependencies ...FutureTask)
Set dependencies for the task
WithClusterSlug(clusterSlug string)
default:"cluster of the task runner"
Set the cluster slug of the cluster where the task will be executed.
WithMaxRetries(maxRetries int64)
Set the maximum number of retries for the subtask in case it fails
Mark the subtask as optional. An optional subtask will not fail the job if it fails. Tasks that depend on it will still execute even if it failed.
Returns
A future task that can be used to set dependencies between tasks.
type MySubTask struct {
Sensor string
Value float64
}
type Task struct{}
func (t *Task) Execute(ctx context.Context) error {
err := workflows.SubmitSubtask(ctx,
&MySubTask{
Sensor: "A",
Value: 42,
},
)
if err != nil {
return fmt.Errorf("failed to submit subtasks: %w", err)
}
return nil
}