Merge pull request #6392 from owncloud/no-backgroundjobs-during-upgrade
dont try to register background jobs if we haven't upgraded yet
This commit is contained in:
commit
a84fe4790f
57
lib/base.php
57
lib/base.php
|
@ -131,8 +131,8 @@ class OC {
|
|||
OC::$THIRDPARTYROOT = rtrim(dirname(OC::$SERVERROOT), '/');
|
||||
} else {
|
||||
throw new Exception('3rdparty directory not found! Please put the ownCloud 3rdparty'
|
||||
.' folder in the ownCloud folder or the folder above.'
|
||||
.' You can also configure the location in the config.php file.');
|
||||
. ' folder in the ownCloud folder or the folder above.'
|
||||
. ' You can also configure the location in the config.php file.');
|
||||
}
|
||||
// search the apps folder
|
||||
$config_paths = OC_Config::getValue('apps_paths', array());
|
||||
|
@ -156,7 +156,7 @@ class OC {
|
|||
|
||||
if (empty(OC::$APPSROOTS)) {
|
||||
throw new Exception('apps directory not found! Please put the ownCloud apps folder in the ownCloud folder'
|
||||
.' or the folder above. You can also configure the location in the config.php file.');
|
||||
. ' or the folder above. You can also configure the location in the config.php file.');
|
||||
}
|
||||
$paths = array();
|
||||
foreach (OC::$APPSROOTS as $path) {
|
||||
|
@ -176,7 +176,8 @@ class OC {
|
|||
|
||||
public static function checkConfig() {
|
||||
if (file_exists(OC::$SERVERROOT . "/config/config.php")
|
||||
and !is_writable(OC::$SERVERROOT . "/config/config.php")) {
|
||||
and !is_writable(OC::$SERVERROOT . "/config/config.php")
|
||||
) {
|
||||
$defaults = new OC_Defaults();
|
||||
if (self::$CLI) {
|
||||
echo "Can't write into config directory!\n";
|
||||
|
@ -188,7 +189,7 @@ class OC {
|
|||
OC_Template::printErrorPage(
|
||||
"Can't write into config directory!",
|
||||
'This can usually be fixed by '
|
||||
.'<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.'
|
||||
. '<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -254,11 +255,23 @@ class OC {
|
|||
}
|
||||
}
|
||||
|
||||
public static function checkUpgrade($showTemplate = true) {
|
||||
/**
|
||||
* check if the instance needs to preform an upgrade
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function needUpgrade() {
|
||||
if (OC_Config::getValue('installed', false)) {
|
||||
$installedVersion = OC_Config::getValue('version', '0.0.0');
|
||||
$currentVersion = implode('.', OC_Util::getVersion());
|
||||
if (version_compare($currentVersion, $installedVersion, '>')) {
|
||||
return version_compare($currentVersion, $installedVersion, '>');
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static function checkUpgrade($showTemplate = true) {
|
||||
if (self::needUpgrade()) {
|
||||
if ($showTemplate && !OC_Config::getValue('maintenance', false)) {
|
||||
OC_Config::setValue('theme', '');
|
||||
$minimizerCSS = new OC_Minimizer_CSS();
|
||||
|
@ -277,7 +290,6 @@ class OC {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static function initTemplateEngine() {
|
||||
// Add the stuff we need always
|
||||
|
@ -462,7 +474,7 @@ class OC {
|
|||
// OC_Util::getInstanceId() for namespacing. See #5409.
|
||||
try {
|
||||
self::$loader->setMemoryCache(\OC\Memcache\Factory::createLowLatency('Autoloader'));
|
||||
} catch(\Exception $ex) {
|
||||
} catch (\Exception $ex) {
|
||||
}
|
||||
}
|
||||
OC_Util::isSetLocaleWorking();
|
||||
|
@ -507,7 +519,7 @@ class OC {
|
|||
if (count($errors) > 0) {
|
||||
if (self::$CLI) {
|
||||
foreach ($errors as $error) {
|
||||
echo $error['error']."\n";
|
||||
echo $error['error'] . "\n";
|
||||
echo $error['hint'] . "\n\n";
|
||||
}
|
||||
} else {
|
||||
|
@ -602,13 +614,9 @@ class OC {
|
|||
* register hooks for the cache
|
||||
*/
|
||||
public static function registerCacheHooks() {
|
||||
if (OC_Config::getValue('installed', false)) { //don't try to do this before we are properly setup
|
||||
// register cache cleanup jobs
|
||||
try { //if this is executed before the upgrade to the new backgroundjob system is completed it will throw an exception
|
||||
if (OC_Config::getValue('installed', false) && !self::needUpgrade()) { //don't try to do this before we are properly setup
|
||||
\OCP\BackgroundJob::registerJob('OC\Cache\FileGlobalGC');
|
||||
} catch (Exception $e) {
|
||||
|
||||
}
|
||||
// NOTE: This will be replaced to use OCP
|
||||
$userSession = \OC_User::getUserSession();
|
||||
$userSession->listen('postLogin', '\OC\Cache\File', 'loginListener');
|
||||
|
@ -619,14 +627,9 @@ class OC {
|
|||
* register hooks for the cache
|
||||
*/
|
||||
public static function registerLogRotate() {
|
||||
if (OC_Config::getValue('installed', false) && OC_Config::getValue('log_rotate_size', false)) {
|
||||
if (OC_Config::getValue('installed', false) && OC_Config::getValue('log_rotate_size', false) && !self::needUpgrade()) {
|
||||
//don't try to do this before we are properly setup
|
||||
// register cache cleanup jobs
|
||||
try { //if this is executed before the upgrade to the new backgroundjob system is completed it will throw an exception
|
||||
\OCP\BackgroundJob::registerJob('OC\Log\Rotate', OC_Config::getValue("datadirectory", OC::$SERVERROOT.'/data').'/owncloud.log');
|
||||
} catch (Exception $e) {
|
||||
|
||||
}
|
||||
\OCP\BackgroundJob::registerJob('OC\Log\Rotate', OC_Config::getValue("datadirectory", OC::$SERVERROOT . '/data') . '/owncloud.log');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -653,7 +656,7 @@ class OC {
|
|||
* register hooks for sharing
|
||||
*/
|
||||
public static function registerShareHooks() {
|
||||
if(\OC_Config::getValue('installed')) {
|
||||
if (\OC_Config::getValue('installed')) {
|
||||
OC_Hook::connect('OC_User', 'post_deleteUser', 'OCP\Share', 'post_deleteUser');
|
||||
OC_Hook::connect('OC_User', 'post_addToGroup', 'OCP\Share', 'post_addToGroup');
|
||||
OC_Hook::connect('OC_User', 'post_removeFromGroup', 'OCP\Share', 'post_removeFromGroup');
|
||||
|
@ -676,7 +679,7 @@ class OC {
|
|||
}
|
||||
|
||||
$request = OC_Request::getPathInfo();
|
||||
if(substr($request, -3) !== '.js') {// we need these files during the upgrade
|
||||
if (substr($request, -3) !== '.js') { // we need these files during the upgrade
|
||||
self::checkMaintenanceMode();
|
||||
self::checkUpgrade();
|
||||
}
|
||||
|
@ -794,12 +797,10 @@ class OC {
|
|||
// auth possible via apache module?
|
||||
if (OC::tryApacheAuth()) {
|
||||
$error[] = 'apacheauthfailed';
|
||||
}
|
||||
// remember was checked after last login
|
||||
} // remember was checked after last login
|
||||
elseif (OC::tryRememberLogin()) {
|
||||
$error[] = 'invalidcookie';
|
||||
}
|
||||
// logon via web form
|
||||
} // logon via web form
|
||||
elseif (OC::tryFormLogin()) {
|
||||
$error[] = 'invalidpassword';
|
||||
if ( OC_Config::getValue('log_authfailip', false) ) {
|
||||
|
|
|
@ -45,6 +45,7 @@ use \OC\BackgroundJob\JobList;
|
|||
class BackgroundJob {
|
||||
/**
|
||||
* get the execution type of background jobs
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* This method returns the type how background jobs are executed. If the user
|
||||
|
@ -56,6 +57,7 @@ class BackgroundJob {
|
|||
|
||||
/**
|
||||
* sets the background jobs execution type
|
||||
*
|
||||
* @param string $type execution type
|
||||
* @return boolean
|
||||
*
|
||||
|
@ -83,9 +85,11 @@ class BackgroundJob {
|
|||
* @return true
|
||||
*/
|
||||
public static function addRegularTask($klass, $method) {
|
||||
if (!\OC::needUpgrade()) {
|
||||
self::registerJob('OC\BackgroundJob\Legacy\RegularJob', array($klass, $method));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
|
|
Loading…
Reference in New Issue