]> source.dussan.org Git - nextcloud-server.git/commitdiff
Backgroundjobs: Improve error handling in cron.php
authorJakob Sack <mail@jakobsack.de>
Thu, 9 Aug 2012 20:22:43 +0000 (22:22 +0200)
committerJakob Sack <mail@jakobsack.de>
Thu, 9 Aug 2012 20:22:43 +0000 (22:22 +0200)
cron.php

index 9d7e396d61e77a13adb7758b145fc0a78d6e6205..646e37e4c1c93cfe2b4901568e4eee7bbc7c8109 100644 (file)
--- a/cron.php
+++ b/cron.php
 *
 */
 
+function handleCliShutdown() {
+       $error = error_get_last();
+       if($error !== NULL){
+               echo 'Unexpected error!'.PHP_EOL;
+       }
+}
+
+function handleWebShutdown(){
+       $error = error_get_last();
+       if($error !== NULL){
+               OC_JSON::error( array( 'data' => array( 'message' => 'Unexpected error!')));
+       }
+}
+
 $RUNTIME_NOSETUPFS = true;
 require_once('lib/base.php');
 
 $appmode = OC_Appconfig::getValue( 'core', 'backgroundjobs_mode', 'ajax' );
 if( OC::$CLI ){
+       register_shutdown_function('handleCliShutdown');
        if( $appmode != 'cron' ){
                OC_Appconfig::setValue( 'core', 'backgroundjobs_mode', 'cron' );
        }
@@ -41,6 +56,7 @@ if( OC::$CLI ){
        OC_BackgroundJob_Worker::doAllSteps();
 }
 else{
+       register_shutdown_function('handleWebShutdown');
        if( $appmode == 'cron' ){
                OC_JSON::error( array( 'data' => array( 'message' => 'Backgroundjobs are using system cron!')));
                exit();