|
@@ -5510,14 +5510,18 @@ bool CWsWorkunitsEx::readDeployWUResponse(CWUDeployWorkunitResponse* deployRespo
|
|
|
return isCompiled;
|
|
|
}
|
|
|
|
|
|
-void CWsWorkunitsEx::addEclDefinitionActionResult(const char *eclDefinition, const char *result,
|
|
|
- const char* strAction, bool logResult, IArrayOf<IConstWUEclDefinitionActionResult> &results)
|
|
|
+void CWsWorkunitsEx::addEclDefinitionActionResult(const char *eclDefinition, const char *result, const char *wuid,
|
|
|
+ const char *queryID, const char* strAction, bool logResult, IArrayOf<IConstWUEclDefinitionActionResult> &results)
|
|
|
{
|
|
|
Owned<IEspWUEclDefinitionActionResult> res = createWUEclDefinitionActionResult();
|
|
|
if (!isEmptyString(eclDefinition))
|
|
|
res->setEclDefinition(eclDefinition);
|
|
|
res->setAction(strAction);
|
|
|
res->setResult(result);
|
|
|
+ if (!isEmptyString(wuid))
|
|
|
+ res->setWUID(wuid);
|
|
|
+ if (!isEmptyString(queryID))
|
|
|
+ res->setQueryID(queryID);
|
|
|
results.append(*res.getClear());
|
|
|
if (logResult)
|
|
|
PROGLOG("%s", result);
|
|
@@ -5546,7 +5550,7 @@ void CWsWorkunitsEx::checkEclDefinitionSyntax(IEspContext &context, const char *
|
|
|
result.append(" timed out.");
|
|
|
|
|
|
gatherWUException(cw->getExceptions(), result);
|
|
|
- addEclDefinitionActionResult(eclDefinition, result.str(), "SyntaxCheck", true, results);
|
|
|
+ addEclDefinitionActionResult(eclDefinition, result.str(), wuid.str(), NULL, "SyntaxCheck", true, results);
|
|
|
cw.clear();
|
|
|
|
|
|
if (wuTimeout)
|
|
@@ -5554,7 +5558,7 @@ void CWsWorkunitsEx::checkEclDefinitionSyntax(IEspContext &context, const char *
|
|
|
if (!factory->deleteWorkUnit(wuid.str()))
|
|
|
{
|
|
|
result.setf(" Workunit %s cannot be deleted now. You may delete it when its status changes.", wuid.str());
|
|
|
- addEclDefinitionActionResult(eclDefinition, result.str(), "SyntaxCheck", true, results);
|
|
|
+ addEclDefinitionActionResult(eclDefinition, result.str(), wuid.str(), NULL, "SyntaxCheck", true, results);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -5579,7 +5583,7 @@ void CWsWorkunitsEx::deployEclDefinition(IEspContext &context, const char *targe
|
|
|
{
|
|
|
StringBuffer wuid, finalResult;
|
|
|
deployEclDefinition(context, target, eclDefinition, msToWait, wuid, finalResult);
|
|
|
- addEclDefinitionActionResult(eclDefinition, finalResult.str(), "Deploy", true, results);
|
|
|
+ addEclDefinitionActionResult(eclDefinition, finalResult.str(), wuid.str(), NULL, "Deploy", true, results);
|
|
|
}
|
|
|
|
|
|
void CWsWorkunitsEx::publishEclDefinition(IEspContext &context, const char *target, const char *eclDefinition,
|
|
@@ -5589,7 +5593,7 @@ void CWsWorkunitsEx::publishEclDefinition(IEspContext &context, const char *targ
|
|
|
if (priorityReq.trim().length() && !isValidPriorityValue(priorityReq.str()))
|
|
|
{
|
|
|
VStringBuffer msg("Invalid Priority: %s", priorityReq.str());
|
|
|
- addEclDefinitionActionResult(eclDefinition, msg.str(), "Publish", true, results);
|
|
|
+ addEclDefinitionActionResult(eclDefinition, msg.str(), NULL, NULL, "Publish", true, results);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -5597,7 +5601,7 @@ void CWsWorkunitsEx::publishEclDefinition(IEspContext &context, const char *targ
|
|
|
if (memoryLimitReq.trim().length() && !isValidMemoryValue(memoryLimitReq.str()))
|
|
|
{
|
|
|
VStringBuffer msg("Invalid MemoryLimit: %s", memoryLimitReq.str());
|
|
|
- addEclDefinitionActionResult(eclDefinition, msg.str(), "Publish", true, results);
|
|
|
+ addEclDefinitionActionResult(eclDefinition, msg.str(), NULL, NULL, "Publish", true, results);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -5608,13 +5612,13 @@ void CWsWorkunitsEx::publishEclDefinition(IEspContext &context, const char *targ
|
|
|
StringBuffer wuid, finalResult;
|
|
|
if (!deployEclDefinition(context, target, eclDefinition, msToWait, wuid, finalResult))
|
|
|
{
|
|
|
- addEclDefinitionActionResult(eclDefinition, finalResult.str(), "Publish", true, results);
|
|
|
+ addEclDefinitionActionResult(eclDefinition, finalResult.str(), wuid.str(), NULL, "Publish", true, results);
|
|
|
return;
|
|
|
}
|
|
|
int timeLeft = msToWait - (time(&timenow) - startTime);
|
|
|
if (timeLeft <= 0)
|
|
|
{
|
|
|
- addEclDefinitionActionResult(eclDefinition, "Timed out after deployment", "Publish", true, results);
|
|
|
+ addEclDefinitionActionResult(eclDefinition, "Timed out after deployment", wuid.str(), NULL, "Publish", true, results);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -5680,7 +5684,7 @@ void CWsWorkunitsEx::publishEclDefinition(IEspContext &context, const char *targ
|
|
|
gatherExceptionMessage(me, finalResult);
|
|
|
|
|
|
gatherQueryFileCopyErrors(publishResponse->getFileErrors(), finalResult);
|
|
|
- addEclDefinitionActionResult(eclDefinition, finalResult.str(), "Publish", true, results);
|
|
|
+ addEclDefinitionActionResult(eclDefinition, finalResult.str(), wuid.str(), id, "Publish", true, results);
|
|
|
}
|
|
|
|
|
|
bool CWsWorkunitsEx::onWUEclDefinitionAction(IEspContext &context, IEspWUEclDefinitionActionRequest &req, IEspWUEclDefinitionActionResponse &resp)
|
|
@@ -5698,18 +5702,9 @@ bool CWsWorkunitsEx::onWUEclDefinitionAction(IEspContext &context, IEspWUEclDefi
|
|
|
if (target.trim().isEmpty())
|
|
|
throw MakeStringException(ECLWATCH_INVALID_INPUT,"Target not defined in onWUEclDefinitionAction.");
|
|
|
|
|
|
- int msToWait = req.getMsToWait();
|
|
|
- if (msToWait == -2) //default: consistent with WUPublishWorkunit/WUDeployWorkunit/WUSyntaxCheckECL
|
|
|
- {
|
|
|
- if (action == CEclDefinitionActions_SyntaxCheck)
|
|
|
- msToWait = 60000;
|
|
|
- else if (action == CEclDefinitionActions_Deploy)
|
|
|
- msToWait = -1;
|
|
|
- else
|
|
|
- msToWait = 10000;
|
|
|
- }
|
|
|
IArrayOf<IConstWUEclDefinitionActionResult> results;
|
|
|
StringArray &eclDefinitions = req.getEclDefinitions();
|
|
|
+ int msToWait = req.getMsToWait();
|
|
|
for (aindex_t i = 0; i < eclDefinitions.length(); i++)
|
|
|
{
|
|
|
StringBuffer eclDefinitionName = eclDefinitions.item(i);
|