@@ -29,6 +29,7 @@ import (
29
29
eventProcessorBean "github.com/devtron-labs/devtron/pkg/eventProcessor/bean"
30
30
"github.com/devtron-labs/devtron/pkg/pipeline/constants"
31
31
"github.com/devtron-labs/devtron/pkg/pipeline/workflowStatus"
32
+ "github.com/devtron-labs/devtron/pkg/workflow/status/workflowStatusLatest"
32
33
"regexp"
33
34
"slices"
34
35
"strconv"
@@ -97,13 +98,15 @@ type CiHandlerImpl struct {
97
98
config * types.CiConfig
98
99
k8sCommonService k8sPkg.K8sCommonService
99
100
workFlowStageStatusService workflowStatus.WorkFlowStageStatusService
101
+ workflowStatusUpdateService workflowStatusLatest.WorkflowStatusUpdateService
100
102
}
101
103
102
104
func NewCiHandlerImpl (Logger * zap.SugaredLogger , ciService CiService , ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository , gitSensorClient gitSensor.Client , ciWorkflowRepository pipelineConfig.CiWorkflowRepository ,
103
105
ciArtifactRepository repository.CiArtifactRepository , userService user.UserService , eventClient client.EventClient , eventFactory client.EventFactory , ciPipelineRepository pipelineConfig.CiPipelineRepository ,
104
106
appListingRepository repository.AppListingRepository , cdPipelineRepository pipelineConfig.PipelineRepository , enforcerUtil rbac.EnforcerUtil , resourceGroupService resourceGroup.ResourceGroupService , envRepository repository2.EnvironmentRepository ,
105
107
imageTaggingService imageTagging.ImageTaggingService , k8sCommonService k8sPkg.K8sCommonService , appWorkflowRepository appWorkflow.AppWorkflowRepository , customTagService CustomTagService ,
106
108
workFlowStageStatusService workflowStatus.WorkFlowStageStatusService ,
109
+ workflowStatusUpdateService workflowStatusLatest.WorkflowStatusUpdateService ,
107
110
) * CiHandlerImpl {
108
111
cih := & CiHandlerImpl {
109
112
Logger : Logger ,
@@ -126,6 +129,7 @@ func NewCiHandlerImpl(Logger *zap.SugaredLogger, ciService CiService, ciPipeline
126
129
appWorkflowRepository : appWorkflowRepository ,
127
130
k8sCommonService : k8sCommonService ,
128
131
workFlowStageStatusService : workFlowStageStatusService ,
132
+ workflowStatusUpdateService : workflowStatusUpdateService ,
129
133
}
130
134
config , err := types .GetCiConfig ()
131
135
if err != nil {
@@ -644,10 +648,15 @@ func (impl *CiHandlerImpl) stateChanged(status string, podStatus string, msg str
644
648
}
645
649
646
650
func (impl * CiHandlerImpl ) FetchCiStatusForTriggerViewV1 (appId int ) ([]* pipelineConfig.CiWorkflowStatus , error ) {
647
- ciWorkflowStatuses , err := impl .ciWorkflowRepository .FIndCiWorkflowStatusesByAppId (appId )
648
- if err != nil && ! util .IsErrNoRows (err ) {
649
- impl .Logger .Errorw ("err in fetching ciWorkflowStatuses from ciWorkflowRepository" , "appId" , appId , "err" , err )
650
- return ciWorkflowStatuses , err
651
+ ciWorkflowStatuses , err := impl .workflowStatusUpdateService .FetchCiStatusForTriggerViewOptimized (appId )
652
+ if err != nil {
653
+ impl .Logger .Errorw ("error in fetching ci status from optimized service, falling back to old method" , "appId" , appId , "err" , err )
654
+ // Fallback to old method if optimized service fails
655
+ ciWorkflowStatuses , err = impl .ciWorkflowRepository .FIndCiWorkflowStatusesByAppId (appId )
656
+ if err != nil && ! util .IsErrNoRows (err ) {
657
+ impl .Logger .Errorw ("err in fetching ciWorkflowStatuses from ciWorkflowRepository" , "appId" , appId , "err" , err )
658
+ return ciWorkflowStatuses , err
659
+ }
651
660
}
652
661
653
662
return ciWorkflowStatuses , err
0 commit comments