From: Jakob Sack Date: Thu, 9 Aug 2012 21:49:20 +0000 (+0200) Subject: Error handling works better now X-Git-Tag: v4.5.0beta1~74^2~136^2~5 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7b3c35107d95b3b3ea391e0131ae794411a97128;p=nextcloud-server.git Error handling works better now --- diff --git a/cron.php b/cron.php index 646e37e4c1c..cb01152360b 100644 --- a/cron.php +++ b/cron.php @@ -20,17 +20,19 @@ * */ -function handleCliShutdown() { - $error = error_get_last(); - if($error !== NULL){ - echo 'Unexpected error!'.PHP_EOL; - } +// Unfortunately we need this class for shutdown function +class my_temporary_cron_class { + public static $sent = false; } -function handleWebShutdown(){ - $error = error_get_last(); - if($error !== NULL){ - OC_JSON::error( array( 'data' => array( 'message' => 'Unexpected error!'))); +function handleUnexpectedShutdown() { + if( !my_temporary_cron_class::$sent ){ + if( OC::$CLI ){ + echo 'Unexpected error!'.PHP_EOL; + } + else{ + OC_JSON::error( array( 'data' => array( 'message' => 'Unexpected error!'))); + } } } @@ -59,9 +61,11 @@ else{ register_shutdown_function('handleWebShutdown'); if( $appmode == 'cron' ){ OC_JSON::error( array( 'data' => array( 'message' => 'Backgroundjobs are using system cron!'))); - exit(); } - OC_BackgroundJob_Worker::doNextStep(); - OC_JSON::success(); + else{ + OC_BackgroundJob_Worker::doNextStep(); + OC_JSON::success(); + } } +my_temporary_cron_class::$sent = true; exit();