54
}
55
57
>
return chasm.SchedulerLibraryName
58
>
}
59
60
>
func (l *Library) Components() []*chasm.RegistrableComponent {
library.go
61
>
return []*chasm.RegistrableComponent{
62
>
chasm.NewRegistrableComponent[*Scheduler](
63
>
chasm.SchedulerComponentName,
64
>
chasm.WithBusinessIDAlias("ScheduleId"),
65
>
chasm.WithSearchAttributes(
66
>
executionStatusSearchAttribute,
67
>
scheduleNextActionTimeSearchAttribute,
68
>
scheduleIdleCloseTimeSearchAttribute,
69
>
scheduleRunningWorkflowCountSearchAttribute,
70
>
scheduleBufferedStartsCountSearchAttribute,
71
>
),
72
>
// Exposes Tweakables to scheduler components via the CHASM context
73
>
// (see tweakablesFromContext).
74
>
chasm.WithContextValues(l.config.contextValues()),
75
>
),
76
>
chasm.NewRegistrableComponent[*Generator]("generator"),
77
>
chasm.NewRegistrableComponent[*Invoker]("invoker"),
78
>
chasm.NewRegistrableComponent[*Backfiller]("backfiller"),
79
>
chasm.NewRegistrableComponent[*EventLog]("eventlog"),
80
>
}
81
>
}
82
83
>
func (l *Library) Tasks() []*chasm.RegistrableTask {
library.go
84
>
return []*chasm.RegistrableTask{
85
>
chasm.NewRegistrablePureTask(
86
>
"idle",
87
>
l.SchedulerIdleTaskHandler,
88
>
),
89
>
chasm.NewRegistrableSideEffectTask(
90
>
"callbacks",
91
>
l.SchedulerCallbacksTaskHandler,
92
>
),
93
>
chasm.NewRegistrablePureTask(
94
>
"generate",
95
>
l.GeneratorTaskHandler,
96
>
),
97
>
chasm.NewRegistrableSideEffectTask(
98
>
"execute",
99
>
l.InvokerExecuteTaskHandler,
100
>
),
101
>
chasm.NewRegistrablePureTask(
102
>
"processBuffer",
103
>
l.InvokerProcessBufferTaskHandler,
104
>
),
105
>
chasm.NewRegistrablePureTask(
106
>
"backfill",
107
>
l.BackfillerTaskHandler,
108
>
),
109
>
chasm.NewRegistrableSideEffectTask(
110
>
"migrateToWorkflow",
111
>
l.MigrateToWorkflowTaskHandler,
112
>
),
113
>
}
114
>
}
115
116
func (l *Library) RegisterServices(server *grpc.Server) {