-
Notifications
You must be signed in to change notification settings - Fork 440
Description
I have a 2 pod cluster going on. The way your save method appears to work, the client uploads the zip, then the client gets a response and moves on. A process kicks off on the server that unzips the file and imports the information into the report.
My problem is we want to use data from CodeChecker as a go-no-go stop gate in our overall workflow. We want to say "if the critical issues increases from the previous run, blow the build up". But, your numbers aren't going to be accurate until the server side function is complete.
So my system does multiple builds in parallel. then in parallel uploads the results to codechecker. So at the same time i could have builds build139-rhel7, build139-suse15, build139-bsd10, build139-bsd12, and build139-macos each running on different machines and uploading at the same time (hopefully). On those build nodes, i need a way for the server to know if build139-rhel7 is finished importing the data, that way i can do a comparison between build138-rhel7 and build139-rhel7 and determine if the number of critical and medium bugs went up or went down. if they went up, halt the build and file a bug in jira.
i need a method to tell if the build is finished importing. I would recommend a flag on your getRunData transaction. something like this
RunData(detectionStatusCount={0: 19053, 5: 5},
codeCheckerVersion='None (None)',
runDate='2019-10-15 13:31:15.512850',
name='myapp',
versionTag=None,
runCmd=None,
runId=1,
duration=14182,
resultCount=19053,
analyzerStatistics={'clangsa': AnalyzerStatistics(successful=3987, failed=392, failedFilePaths=None, version=None)}),
loadStatus={running|failed|finished}
i can then poll getRunData periodically and check loadStatus for the build that node is concerned with, when the value goes finished, i can move on with my workflow.