Sfoglia il codice sorgente

HPCC-24568 Catch/log exception when cluster has no scheduler

Signed-off-by: wangkx <kevin.wang@lexisnexis.com>
wangkx 4 anni fa
parent
commit
a4243bfdff
1 ha cambiato i file con 14 aggiunte e 1 eliminazioni
  1. 14 1
      esp/services/ws_workunits/ws_workunitsService.cpp

+ 14 - 1
esp/services/ws_workunits/ws_workunitsService.cpp

@@ -3632,7 +3632,20 @@ void getScheduledWUs(IEspContext &context, WUShowScheduledFilters *filters, cons
     if (notEmpty(serverName))
     {
         Owned<IWorkUnitFactory> factory = getWorkUnitFactory(context.querySecManager(), context.queryUser());
-        Owned<IScheduleReader> reader = getScheduleReader(serverName, filters->eventName);
+        Owned<IScheduleReader> reader;
+        try
+        {
+            reader.setown(getScheduleReader(serverName, filters->eventName));
+        }
+        catch (IException *e)
+        {
+            StringBuffer eMsg;
+            e->errorMessage(eMsg);
+            e->Release();
+            IWARNLOG("Failed to getScheduleReader for %s: %s", serverName, eMsg.str());
+            return;
+        }
+
         Owned<IScheduleReaderIterator> it(reader->getIterator());
         while(it->isValidEventName())
         {