瀏覽代碼

HPCC-17886 Change default timeout

consistent with WUPublishWorkunit/WUDeployWorkunit/WUSyntaxCheckECL

Signed-off-by: wangkx <kevin.wang@lexisnexis.com>
wangkx 7 年之前
父節點
當前提交
45b0e65ac7
共有 2 個文件被更改,包括 11 次插入7 次删除
  1. 1 1
      esp/scm/ws_workunits.ecm
  2. 10 6
      esp/services/ws_workunits/ws_workunitsService.cpp

+ 1 - 1
esp/scm/ws_workunits.ecm

@@ -2152,7 +2152,7 @@ ESPrequest [nil_remove] WUEclDefinitionActionRequest
     bool UpdateSuperfiles(false); //Publish
     bool UpdateCloneFrom(false); //Publish
     bool DontAppendCluster(false); //Publish
-    int MsToWait(-1);
+    int MsToWait(-2);//default -2 : deploy(-1), publish(10000), and syntaxCheck(60000))
     int TimeLimit(-1); //Publish
     int WarnTimeLimit(-1); //Publish
 };

+ 10 - 6
esp/services/ws_workunits/ws_workunitsService.cpp

@@ -5531,9 +5531,6 @@ void CWsWorkunitsEx::checkEclDefinitionSyntax(IEspContext &context, const char *
     wu->setAction(WUActionCheck);
     wu.setQueryMain(eclDefinition);
 
-    if (msToWait == -1)
-        msToWait = 60000;
-
     StringAttr wuid(wu->queryWuid());  // NB queryWuid() not valid after workunit.clear()
     wu->commit();
     wu.clear();
@@ -5603,8 +5600,6 @@ void CWsWorkunitsEx::publishEclDefinition(IEspContext &context, const char *targ
         addEclDefinitionActionResult(eclDefinition, msg.str(), "Publish", true, results);
         return;
     }
-    if (msToWait == -1)
-        msToWait = 10000;
 
     time_t timenow;
     int startTime = time(&timenow);
@@ -5703,11 +5698,20 @@ 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();
         for (aindex_t i = 0; i < eclDefinitions.length(); i++)
         {
-            int msToWait = req.getMsToWait();
             StringBuffer eclDefinitionName = eclDefinitions.item(i);
             if (eclDefinitionName.trim().isEmpty())
                 WARNLOG("Empty ECL Definition name in WUEclDefinitionAction request");