From 55eca126d3973248992a07a0aaec059c47003fd2 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Date: Wed, 31 Jul 2013 16:13:49 -0400 Subject: [PATCH] BUG-12551 Al ejecutar el cron cuando se tienen errores de tipo... SOLVED - al ejecutar cron y tener un proceso con Case Scheduler y tener errores de tipo cacheable se detiene la ejecucion. - Se valida esta opcion capturando los errores de tipo cacheable y mostrandolos ademas de continuar con la ejecucion de cron hasta su finalizacion. --- .../engine/classes/model/CaseScheduler.php | 60 +++++++++++-------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/workflow/engine/classes/model/CaseScheduler.php b/workflow/engine/classes/model/CaseScheduler.php index 57263d1b4..b96926825 100755 --- a/workflow/engine/classes/model/CaseScheduler.php +++ b/workflow/engine/classes/model/CaseScheduler.php @@ -412,17 +412,23 @@ class CaseScheduler extends BaseCaseScheduler $paramsLogResult = 'SUCCESS'; $params = array ('sessionId' => $sessionId,'caseId' => $caseId,'delIndex' => "1"); eprint( " - Routing the case #$caseNumber.............." ); - $result = $client->__SoapCall( 'RouteCase', array ($params) ); - - if ($result->status_code == 0) { - $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message ); - $retMsg = explode( "Debug", $paramsLog['WS_ROUTE_CASE_STATUS'] ); - $retMsg = $retMsg[0]; - eprintln( "OK+ $retMsg", 'green' ); - $paramsRouteLogResult = 'SUCCESS'; - } else { - $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message ); - eprintln( "FAILED-> {$paramsLog ['WS_ROUTE_CASE_STATUS']}", 'red' ); + try { + $result = $client->__SoapCall( 'RouteCase', array ($params) ); + if ($result->status_code == 0) { + $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message ); + $retMsg = explode( "Debug", $paramsLog['WS_ROUTE_CASE_STATUS'] ); + $retMsg = $retMsg[0]; + eprintln( "OK+ $retMsg", 'green' ); + $paramsRouteLogResult = 'SUCCESS'; + } else { + $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message ); + eprintln( "FAILED-> {$paramsLog ['WS_ROUTE_CASE_STATUS']}", 'red' ); + $paramsRouteLogResult = 'FAILED'; + } + } catch (Exception $oError) { + setExecutionResultMessage(' WITH ERRORS', 'error'); + $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $oError->getMessage()); + eprintln(" '-".strip_tags($oError->getMessage()), 'red'); $paramsRouteLogResult = 'FAILED'; } } else { @@ -520,21 +526,27 @@ class CaseScheduler extends BaseCaseScheduler $params = array ('sessionId' => $sessionId,'caseId' => $caseId,'delIndex' => "1" ); - $result = $client->__SoapCall( 'RouteCase', array ($params - ) ); - eprint( " - Routing the case #$caseNumber.............." ); - if ($result->status_code == 0) { - $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message ); - $retMsg = explode( "Debug", $paramsLog['WS_ROUTE_CASE_STATUS'] ); - $retMsg = $retMsg[0]; - eprintln( "OK+ $retMsg", 'green' ); - $paramsRouteLogResult = 'SUCCESS'; - } else { - eprintln( "FAILED-> {$paramsLog ['WS_ROUTE_CASE_STATUS']}", 'red' ); - $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message ); + try { + $result = $client->__SoapCall( 'RouteCase', array ($params + ) ); + eprint( " - Routing the case #$caseNumber.............." ); + if ($result->status_code == 0) { + $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message ); + $retMsg = explode( "Debug", $paramsLog['WS_ROUTE_CASE_STATUS'] ); + $retMsg = $retMsg[0]; + eprintln( "OK+ $retMsg", 'green' ); + $paramsRouteLogResult = 'SUCCESS'; + } else { + eprintln( "FAILED-> {$paramsLog ['WS_ROUTE_CASE_STATUS']}", 'red' ); + $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $result->message ); + $paramsRouteLogResult = 'FAILED'; + } + } catch (Exception $oError) { + setExecutionResultMessage(' WITH ERRORS', 'error'); + $paramsLog['WS_ROUTE_CASE_STATUS'] = strip_tags( $oError->getMessage()); + eprintln(" '-".strip_tags($oError->getMessage()), 'red'); $paramsRouteLogResult = 'FAILED'; } - } else { $paramsLog['WS_CREATE_CASE_STATUS'] = strip_tags( $result->message ); eprintln( "FAILED->{$paramsLog ['WS_CREATE_CASE_STATUS']}", 'red' );