Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
die_coolen_jungs
our_own_cloud_project
Commits
d0a5fe1f
Commit
d0a5fe1f
authored
Apr 20, 2013
by
Robin Appelman
Browse files
code style
parent
03c7a52b
Changes
1
Hide whitespace changes
Inline
Side-by-side
cron.php
View file @
d0a5fe1f
<?php
/**
* ownCloud
*
* @author Jakob Sack
* @copyright 2012 Jakob Sack owncloud@jakobsack.de
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
* ownCloud
*
* @author Jakob Sack
* @copyright 2012 Jakob Sack owncloud@jakobsack.de
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
// Unfortunately we need this class for shutdown function
class
TemporaryCronClass
{
...
...
@@ -30,17 +30,16 @@ class TemporaryCronClass {
// We use this function to handle (unexpected) shutdowns
function
handleUnexpectedShutdown
()
{
// Delete lockfile
if
(
!
TemporaryCronClass
::
$keeplock
&&
file_exists
(
TemporaryCronClass
::
$lockfile
))
{
unlink
(
TemporaryCronClass
::
$lockfile
);
if
(
!
TemporaryCronClass
::
$keeplock
&&
file_exists
(
TemporaryCronClass
::
$lockfile
))
{
unlink
(
TemporaryCronClass
::
$lockfile
);
}
// Say goodbye if the app did not shutdown properly
if
(
!
TemporaryCronClass
::
$sent
)
{
if
(
OC
::
$CLI
)
{
echo
'Unexpected error!'
.
PHP_EOL
;
}
else
{
OC_JSON
::
error
(
array
(
'data'
=>
array
(
'message'
=>
'Unexpected error!'
)));
if
(
!
TemporaryCronClass
::
$sent
)
{
if
(
OC
::
$CLI
)
{
echo
'Unexpected error!'
.
PHP_EOL
;
}
else
{
OC_JSON
::
error
(
array
(
'data'
=>
array
(
'message'
=>
'Unexpected error!'
)));
}
}
}
...
...
@@ -51,8 +50,8 @@ require_once 'lib/base.php';
session_write_close
();
// Don't do anything if ownCloud has not been installed
if
(
!
OC_Config
::
getValue
(
'installed'
,
false
))
{
exit
(
0
);
if
(
!
OC_Config
::
getValue
(
'installed'
,
false
))
{
exit
(
0
);
}
// Handle unexpected errors
...
...
@@ -63,48 +62,45 @@ OC_Helper::cleanTmpNoClean();
// Exit if background jobs are disabled!
$appmode
=
OC_BackgroundJob
::
getExecutionType
();
if
(
$appmode
==
'none'
)
{
if
(
$appmode
==
'none'
)
{
TemporaryCronClass
::
$sent
=
true
;
if
(
OC
::
$CLI
)
{
echo
'Background Jobs are disabled!'
.
PHP_EOL
;
}
else
{
OC_JSON
::
error
(
array
(
'data'
=>
array
(
'message'
=>
'Background jobs disabled!'
)));
if
(
OC
::
$CLI
)
{
echo
'Background Jobs are disabled!'
.
PHP_EOL
;
}
else
{
OC_JSON
::
error
(
array
(
'data'
=>
array
(
'message'
=>
'Background jobs disabled!'
)));
}
exit
(
1
);
exit
(
1
);
}
if
(
OC
::
$CLI
)
{
if
(
OC
::
$CLI
)
{
// Create lock file first
TemporaryCronClass
::
$lockfile
=
OC_Config
::
getValue
(
"datadirectory"
,
OC
::
$SERVERROOT
.
'/data'
)
.
'/cron.lock'
;
TemporaryCronClass
::
$lockfile
=
OC_Config
::
getValue
(
"datadirectory"
,
OC
::
$SERVERROOT
.
'/data'
)
.
'/cron.lock'
;
// We call ownCloud from the CLI (aka cron)
if
(
$appmode
!=
'cron'
)
{
if
(
$appmode
!=
'cron'
)
{
// Use cron in feature!
OC_BackgroundJob
::
setExecutionType
(
'cron'
);
OC_BackgroundJob
::
setExecutionType
(
'cron'
);
}
// check if backgroundjobs is still running
if
(
file_exists
(
TemporaryCronClass
::
$lockfile
))
{
if
(
file_exists
(
TemporaryCronClass
::
$lockfile
))
{
TemporaryCronClass
::
$keeplock
=
true
;
TemporaryCronClass
::
$sent
=
true
;
echo
"Another instance of cron.php is still running!"
;
exit
(
1
);
exit
(
1
);
}
// Create a lock file
touch
(
TemporaryCronClass
::
$lockfile
);
touch
(
TemporaryCronClass
::
$lockfile
);
// Work
OC_BackgroundJob_Worker
::
doAllSteps
();
}
else
{
}
else
{
// We call cron.php from some website
if
(
$appmode
==
'cron'
)
{
if
(
$appmode
==
'cron'
)
{
// Cron is cron :-P
OC_JSON
::
error
(
array
(
'data'
=>
array
(
'message'
=>
'Backgroundjobs are using system cron!'
)));
}
else
{
OC_JSON
::
error
(
array
(
'data'
=>
array
(
'message'
=>
'Backgroundjobs are using system cron!'
)));
}
else
{
// Work and success :-)
OC_BackgroundJob_Worker
::
doNextStep
();
OC_JSON
::
success
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment