Files
tasks/chasm/lib/nexusoperation/operation_executors.go
zeekay 5a601d081b rebrand: go.temporal.io/server -> github.com/hanzoai/tasks
Full module path rebrand from Temporal to Hanzo Tasks:
- go.mod module: github.com/hanzoai/tasks
- All internal Go imports updated (1906 files)
- cmd/server renamed to cmd/tasksd
- Binary name: tasksd (was temporal-server)
- Docker images: hanzoai/tasks (was temporalio/server)
- README rewritten with Hanzo Tasks branding
- LLM.md created with integration notes
- Makefile, goreleaser, CI workflows updated
- go.temporal.io/sdk and go.temporal.io/api imports preserved (separate repos)

Fork of Temporal.io (MIT license).
2026-03-19 10:36:40 -07:00

122 lines
3.0 KiB
Go

package nexusoperation
import (
"context"
"go.temporal.io/api/serviceerror"
"github.com/hanzoai/tasks/chasm"
"github.com/hanzoai/tasks/chasm/lib/nexusoperation/gen/nexusoperationpb/v1"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/metrics"
"go.uber.org/fx"
)
// OperationTaskExecutorOptions is the fx parameter object for common options supplied to all operation task executors.
type OperationTaskExecutorOptions struct {
fx.In
Config *Config
MetricsHandler metrics.Handler
Logger log.Logger
}
type OperationInvocationTaskExecutor struct {
config *Config
metricsHandler metrics.Handler
logger log.Logger
}
func NewOperationInvocationTaskExecutor(opts OperationTaskExecutorOptions) *OperationInvocationTaskExecutor {
return &OperationInvocationTaskExecutor{
config: opts.Config,
metricsHandler: opts.MetricsHandler,
logger: opts.Logger,
}
}
func (e *OperationInvocationTaskExecutor) Validate(
ctx chasm.Context,
op *Operation,
attrs chasm.TaskAttributes,
task *nexusoperationpb.InvocationTask,
) (bool, error) {
return false, serviceerror.NewUnimplemented("unimplemented")
}
func (e *OperationInvocationTaskExecutor) Execute(
ctx context.Context,
opRef chasm.ComponentRef,
attrs chasm.TaskAttributes,
task *nexusoperationpb.InvocationTask,
) error {
return serviceerror.NewUnimplemented("unimplemented")
}
type OperationBackoffTaskExecutor struct {
config *Config
metricsHandler metrics.Handler
logger log.Logger
}
func NewOperationBackoffTaskExecutor(opts OperationTaskExecutorOptions) *OperationBackoffTaskExecutor {
return &OperationBackoffTaskExecutor{
config: opts.Config,
metricsHandler: opts.MetricsHandler,
logger: opts.Logger,
}
}
func (e *OperationBackoffTaskExecutor) Validate(
ctx chasm.Context,
op *Operation,
attrs chasm.TaskAttributes,
task *nexusoperationpb.InvocationBackoffTask,
) (bool, error) {
return false, serviceerror.NewUnimplemented("unimplemented")
}
func (e *OperationBackoffTaskExecutor) Execute(
ctx chasm.MutableContext,
op *Operation,
attrs chasm.TaskAttributes,
task *nexusoperationpb.InvocationBackoffTask,
) error {
return serviceerror.NewUnimplemented("unimplemented")
}
type OperationTimeoutTaskExecutor struct {
config *Config
metricsHandler metrics.Handler
logger log.Logger
}
func NewOperationTimeoutTaskExecutor(opts OperationTaskExecutorOptions) *OperationTimeoutTaskExecutor {
return &OperationTimeoutTaskExecutor{
config: opts.Config,
metricsHandler: opts.MetricsHandler,
logger: opts.Logger,
}
}
func (e *OperationTimeoutTaskExecutor) Validate(
ctx chasm.Context,
op *Operation,
attrs chasm.TaskAttributes,
task *nexusoperationpb.InvocationTimeoutTask,
) (bool, error) {
return false, serviceerror.NewUnimplemented("unimplemented")
}
func (e *OperationTimeoutTaskExecutor) Execute(
ctx chasm.MutableContext,
op *Operation,
attrs chasm.TaskAttributes,
task *nexusoperationpb.InvocationTimeoutTask,
) error {
return serviceerror.NewUnimplemented("unimplemented")
}