1730
}
1731
1732
>
func (d *WorkflowRunner) updateMemo(ctx workflow.Context) error {
workflow.go
1733
>
// TODO(carlydf): remove verbose logging
1734
>
d.logger.Info("Updating workflow memo",
1735
>
"routing_config", d.State.GetRoutingConfig(),
1736
>
//nolint:staticcheck // SA1019: worker versioning v0.31
1737
>
"current_version", d.State.GetRoutingConfig().GetCurrentVersion(),
1738
>
//nolint:staticcheck // SA1019: worker versioning v0.31
1739
>
"ramping_version", d.State.GetRoutingConfig().GetRampingVersion())
1740
>
1741
>
return workflow.UpsertMemo(ctx, map[string]any{
1742
>
WorkerDeploymentMemoField: &deploymentspb.WorkerDeploymentWorkflowMemo{
1743
>
DeploymentName: d.DeploymentName,
1744
>
CreateTime: d.State.CreateTime,
1745
>
RoutingConfig: d.State.RoutingConfig,
1746
>
LatestVersionSummary: d.getLatestVersionSummary(),
1747
>
CurrentVersionSummary: d.getCurrentVersionSummary(),
1748
>
RampingVersionSummary: d.getRampingVersionSummary(),
1749
>
},
1750
>
})
1751
>
}
1752
1753
>
func (d *WorkflowRunner) setStateChanged() {
workflow.go
1754
>
d.stateChanged = true
1755
>
}
1756
1757
>
func (d *WorkflowRunner) sortedSummaries() []*deploymentspb.WorkerDeploymentVersionSummary {
workflow.go
1758
>
var sortedSummaries []*deploymentspb.WorkerDeploymentVersionSummary
1759
>
for _, k := range workflow.DeterministicKeys(d.State.Versions) {
1761
>
sortedSummaries = append(sortedSummaries, s)
1762
>
}
1763
1764
>
slices.SortFunc(sortedSummaries, func(a, b *deploymentspb.WorkerDeploymentVersionSummary) int {
workflow.go
1766
>
// cmp(a, b) should return a negative number when a < b, a positive number when a > b,
1767
>
// and zero when a == b or a and b are incomparable in the sense of a strict weak ordering.
1768
>
if a.GetCreateTime().AsTime().After(b.GetCreateTime().AsTime()) {
1769
return 1
1770
>
} else if a.GetCreateTime().AsTime().Before(b.GetCreateTime().AsTime()) {
workflow.go
1771
return -1
1772
}
1774
})
1776
}
1777
1778
>
func (d *WorkflowRunner) getLatestVersionSummary() *deploymentpb.WorkerDeploymentInfo_WorkerDeploymentVersionSummary {
workflow.go
1779
>
sortedSummaries := d.sortedSummaries()
1780
>
if len(sortedSummaries) == 0 {
1781
return nil
1782
}
1783
>
latest_summary := sortedSummaries[len(sortedSummaries)-1]
workflow.go
1784
>
return d.getWorkerDeploymentInfoVersionSummary(latest_summary)
1785
}
1786
1787
>
func (d *WorkflowRunner) getCurrentVersionSummary() *deploymentpb.WorkerDeploymentInfo_WorkerDeploymentVersionSummary {
workflow.go
1788
>
// The deployment workflow still uses the deprecated fields from v0.31. Hence, the current version is read from
1789
>
// CurrentVersion and not CurrentDeploymentVersion. This shall change before GA.
1790
>
currentVersion := d.GetState().GetRoutingConfig().GetCurrentVersion() //nolint:staticcheck
1791
>
currentVersionSummary := d.GetState().GetVersions()[currentVersion]
1792
>
1793
>
if currentVersionSummary == nil {
1795
>
}
1796
return d.getWorkerDeploymentInfoVersionSummary(currentVersionSummary)
1797
}
1798
1799
>
func (d *WorkflowRunner) getRampingVersionSummary() *deploymentpb.WorkerDeploymentInfo_WorkerDeploymentVersionSummary {
workflow.go
1800
>
// The deployment workflow still uses the deprecated fields from v0.31. Hence, the ramping version is read from
1801
>
// RampingVersion and not RampingDeploymentVersion. This shall change before GA.
1802
>
rampingVersion := d.GetState().GetRoutingConfig().GetRampingVersion() //nolint:staticcheck
1803
>
rampingVersionSummary := d.GetState().GetVersions()[rampingVersion]
1804
>
1805
>
if rampingVersionSummary == nil {
1807
>
}
1808
return d.getWorkerDeploymentInfoVersionSummary(rampingVersionSummary)
1809
}
1810
1811
>
func (d *WorkflowRunner) getWorkerDeploymentInfoVersionSummary(versionSummary *deploymentspb.WorkerDeploymentVersionSummary) *deploymentpb.WorkerDeploymentInfo_WorkerDeploymentVersionSummary {
workflow.go
1812
>
return &deploymentpb.WorkerDeploymentInfo_WorkerDeploymentVersionSummary{
1813
>
Version: versionSummary.GetVersion(),
1814
>
DeploymentVersion: worker_versioning.ExternalWorkerDeploymentVersionFromStringV31(versionSummary.GetVersion()),
1815
>
Status: versionSummary.GetStatus(),
1816
>
CreateTime: versionSummary.GetCreateTime(),
1817
>
DrainageInfo: versionSummary.GetDrainageInfo(),
1818
>
CurrentSinceTime: versionSummary.GetCurrentSinceTime(),
1819
>
RampingSinceTime: versionSummary.GetRampingSinceTime(),
1820
>
RoutingUpdateTime: versionSummary.GetRoutingUpdateTime(),
1821
>
FirstActivationTime: versionSummary.GetFirstActivationTime(),
1822
>
LastCurrentTime: versionSummary.GetLastCurrentTime(),
1823
>
LastDeactivationTime: versionSummary.GetLastDeactivationTime(),
1824
>
ComputeConfig: versionSummary.GetComputeConfig(),
1825
>
ComputeStatus: versionSummary.GetComputeStatus(),
1826
>
}
1827
>
}