227 submitOperation statusUrl patching filecontent fixed
This commit is contained in:
@@ -298,7 +298,7 @@
|
||||
where instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid#/>
|
||||
</cfquery>
|
||||
|
||||
<cfset sleep(0)/><!--- если придется подождать, можно добавить, но мы специально указываем delay=0sec --->
|
||||
<cfset sleep(0)/><!--- если придется подождать, можно добавить, но мы выше специально указываем delay=0sec --->
|
||||
<cfif listFind("200,201",#orchestrator.responseHeader.status_code#)>
|
||||
<cftry>
|
||||
<cfset var buildURL="#orchestrator.responseHeader.Location#/api/json"/>
|
||||
@@ -312,18 +312,23 @@
|
||||
<cfhttpparam type="HEADER" name="Accept" value="application/json">
|
||||
</cfhttp>
|
||||
|
||||
<cfset var jobData=#deserializeJson(job.filecontent)#/>
|
||||
<!--- jobData: <cfdump var=#jobData#/> --->
|
||||
<cfset operation_url=jobData.executable.url />
|
||||
|
||||
<cfquery name="qSetStatusUrl">
|
||||
update instance_operation
|
||||
set status_url=<cfqueryparam cfsqltype="cf_sql_varchar" value="#operation_url#api/json"/><!--- *** костыль --->
|
||||
where instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid#/>
|
||||
</cfquery>
|
||||
<cfset var operation_url = ""/>
|
||||
<cfif structKeyExists(job,"filecontent")>
|
||||
<!--- обнаружилось, что при автоматизированном вызове операций filecontent может не приходить. Вероятно, Дженкинс не успевает. Костыльный способ - подобрать задержку. Есть шансы, что поведение будет сильно зависеть от нагрузки. Также можно повторять проверку (скажем, с увеличивающимся интервалом). Мы пока просто не будем сохранять statusUrl --->
|
||||
<cfset var jobData=#deserializeJson(job.filecontent)#/>
|
||||
<!--- jobData: <cfdump var=#jobData#/> --->
|
||||
<cfset operation_url=jobData.executable.url />
|
||||
<cfquery name="qSetStatusUrl">
|
||||
update instance_operation
|
||||
set status_url=<cfqueryparam cfsqltype="cf_sql_varchar" value="#operation_url#api/json" null=#(operation_url EQ "")#/><!--- *** костыль --->
|
||||
where instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid#/>
|
||||
</cfquery>
|
||||
<cfelse>
|
||||
<!--- job: <cfdump var=#job#/> --->
|
||||
</cfif>
|
||||
|
||||
<cfcatch type="any">
|
||||
<cfrethrow/><!--- пока не придумал --->
|
||||
<cfrethrow/><!--- пока не придумал, есть смысл логировать ошибку и продолжать --->
|
||||
</cfcatch>
|
||||
</cftry>
|
||||
</cfif>
|
||||
|
||||
Reference in New Issue
Block a user