166
ctx chasm.MutableContext,
167
namespace, namespaceID, scheduleID string,
169
>
s := &Scheduler{
170
>
SchedulerState: &schedulerpb.SchedulerState{
171
>
Namespace: namespace,
172
>
NamespaceId: namespaceID,
173
>
ScheduleId: scheduleID,
174
>
Sentinel: true,
175
>
ConflictToken: scheduler.InitialConflictToken,
176
>
Info: &schedulepb.ScheduleInfo{},
177
>
},
178
>
cacheConflictToken: scheduler.InitialConflictToken,
179
>
EventLog: chasm.NewComponentField(ctx, NewEventLog(ctx)),
180
>
}
181
>
now := ctx.Now(s)
182
>
s.Info.CreateTime = timestamppb.New(now)
183
>
184
>
ctx.AddTask(s, chasm.TaskAttributes{
185
>
ScheduledTime: now.Add(SentinelIdleTime),
186
>
}, &schedulerpb.SchedulerIdleTask{
187
>
IdleTimeTotal: durationpb.New(SentinelIdleTime),
188
>
})
189
>
190
>
return s
191
>
}
192
193
// CreateSentinelFn is the chasm.StartExecution factory for creating sentinel