244
245
// Keep waiting for signals, when it's time to CaN the main goroutine will exit.
247
>
d.signalHandler.signalSelector.Select(ctx)
248
>
}
249
}
250
252
>
if d.GetVersionState().Version == nil {
253
return fmt.Errorf("version cannot be nil on start")
254
}
256
d.VersionState.CreateTime = timestamppb.New(workflow.Now(ctx))
257
}
258
// TODO: remove this after next release because now the status should always be set at start.
259
>
if d.VersionState.Status == enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_UNSPECIFIED {
version_workflow.go
260
d.VersionState.Status = enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE
261
}
262
263
// if we were draining and just continued-as-new, do another drainage check after waiting for appropriate time
264
>
if d.VersionState.GetDrainageInfo().GetStatus() == enumspb.VERSION_DRAINAGE_STATUS_DRAINING {
version_workflow.go
265
workflow.Go(ctx, d.refreshDrainageInfo)
266
}
267
268
// Set up Query Handlers here:
269
>
if err := workflow.SetQueryHandler(ctx, QueryDescribeVersion, d.handleDescribeQuery); err != nil {
version_workflow.go
270
d.logger.Error("Failed while setting up query handler")
271
return err
272
}
273
275
>
ctx,
276
>
RegisterWorkerInDeploymentVersion,
277
>
d.handleRegisterWorker,
278
>
workflow.UpdateHandlerOptions{
279
>
Validator: d.validateRegisterWorker,
280
>
},
281
>
); err != nil {
282
return err
283
}
284
286
>
ctx,
287
>
SyncVersionState,
288
>
d.handleSyncState,
289
>
workflow.UpdateHandlerOptions{
290
>
Validator: d.validateSyncState,
291
>
},
292
>
); err != nil {
293
return err
294
}
295
297
>
ctx,
298
>
DeleteVersion,
299
>
d.handleDeleteVersion,
300
>
workflow.UpdateHandlerOptions{
301
>
Validator: d.validateDeleteVersion,
302
>
},
303
>
); err != nil {
304
return err
305
}
306
308
>
ctx,
309
>
UpdateVersionMetadata,
310
>
d.handleUpdateVersionMetadata,
311
>
workflow.UpdateHandlerOptions{
312
>
Validator: d.validateUpdateVersionMetadata,
313
>
},
314
>
); err != nil {
315
return err
316
}
317
319
>
ctx,
320
>
UpdateVersionComputeConfig,
321
>
d.handleUpdateVersionComputeConfig,
322
>
workflow.UpdateHandlerOptions{
323
>
Validator: d.validateUpdateVersionComputeConfig,
324
>
},
325
>
); err != nil {
326
return err
327
}