summaryrefslogtreecommitdiffstats
path: root/cron.php
diff options
context:
space:
mode:
authorJakob Sack <mail@jakobsack.de>2012-08-09 23:49:20 +0200
committerJakob Sack <mail@jakobsack.de>2012-08-09 23:49:20 +0200
commit7b3c35107d95b3b3ea391e0131ae794411a97128 (patch)
treece1b62137cf5c173863cb49695e7f0b4027922fc /cron.php
parentf46fdfd814de7a43af94cad1dcf456e65350f254 (diff)
downloadnextcloud-server-7b3c35107d95b3b3ea391e0131ae794411a97128.tar.gz
nextcloud-server-7b3c35107d95b3b3ea391e0131ae794411a97128.zip
Error handling works better now
Diffstat (limited to 'cron.php')
-rw-r--r--cron.php28
1 files changed, 16 insertions, 12 deletions
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();