check if value is set

get basepath with config instead cache
This commit is contained in:
Philipp Holzer 2019-02-18 08:51:38 +01:00
parent 74edf9994f
commit a3d6062476
No known key found for this signature in database
GPG key ID: 517BE60E2CE5C8A5
4 changed files with 25 additions and 3 deletions

View file

@ -219,7 +219,7 @@ class App
$this->logger = $logger; $this->logger = $logger;
$this->config = $config; $this->config = $config;
$this->profiler = $profiler; $this->profiler = $profiler;
$this->basePath = $this->config->getCache()->get('system', 'basepath'); $this->basePath = $this->config->get('system', 'basepath');
if (!Core\System::isDirectoryUsable($this->basePath, false)) { if (!Core\System::isDirectoryUsable($this->basePath, false)) {
throw new Exception('Basepath \'' . $this->basePath . '\' isn\'t usable.'); throw new Exception('Basepath \'' . $this->basePath . '\' isn\'t usable.');

View file

@ -1,6 +1,7 @@
<?php <?php
namespace Friendica\Core\Config\Adapter; namespace Friendica\Core\Config\Adapter;
use Friendica\Core\Logger;
use Friendica\Database\DBA; use Friendica\Database\DBA;
/** /**
@ -57,8 +58,17 @@ class JITConfigAdapter extends AbstractDbaConfigAdapter implements IConfigAdapte
// manage array value // manage array value
$value = (preg_match("|^a:[0-9]+:{.*}$|s", $config['v']) ? unserialize($config['v']) : $config['v']); $value = (preg_match("|^a:[0-9]+:{.*}$|s", $config['v']) ? unserialize($config['v']) : $config['v']);
$this->in_db[$cat][$key] = true; if ($key === 'last_worker_execution') {
return $value; Logger::alert('catchmeifyou', ['store' => $value, 'in_db' => $this->in_db[$cat][$key]]);
}
if (isset($value) && $value !== '') {
$this->in_db[$cat][$key] = true;
return $value;
} else {
$this->in_db[$cat][$key] = false;
return '!<unset>!';
}
} else { } else {
$this->in_db[$cat][$key] = false; $this->in_db[$cat][$key] = false;
@ -89,6 +99,10 @@ class JITConfigAdapter extends AbstractDbaConfigAdapter implements IConfigAdapte
$this->in_db[$cat][$key] = false; $this->in_db[$cat][$key] = false;
} }
if ($key === 'last_worker_execution') {
Logger::alert('catchmeifyou', ['db' => $dbvalue, 'store' => $stored, 'in_db' => $this->in_db[$cat][$key]]);
}
if (($stored === $dbvalue) && $this->in_db[$cat][$key]) { if (($stored === $dbvalue) && $this->in_db[$cat][$key]) {
return true; return true;
} }

View file

@ -2,6 +2,8 @@
namespace Friendica\Core\Config; namespace Friendica\Core\Config;
use Friendica\Core\Logger;
/** /**
* This class is responsible for all system-wide configuration values in Friendica * This class is responsible for all system-wide configuration values in Friendica
* There are two types of storage * There are two types of storage
@ -114,6 +116,10 @@ class Configuration
*/ */
public function set($cat, $key, $value) public function set($cat, $key, $value)
{ {
if ($key === 'last_worker_execution') {
Logger::alert('catchmeifyou', ['value' => $value]);
}
// set the cache first // set the cache first
$cached = $this->configCache->set($cat, $key, $value); $cached = $this->configCache->set($cat, $key, $value);

View file

@ -277,6 +277,8 @@ class Worker
$age = (time() - self::$last_update) / 60; $age = (time() - self::$last_update) / 60;
self::$last_update = time(); self::$last_update = time();
Logger::alert('last_update', ['age' => $age, 'last_update' => self::$last_update]);
if ($age > 1) { if ($age > 1) {
$stamp = (float)microtime(true); $stamp = (float)microtime(true);
DBA::update('workerqueue', ['executed' => DateTimeFormat::utcNow()], ['pid' => $mypid, 'done' => false]); DBA::update('workerqueue', ['executed' => DateTimeFormat::utcNow()], ['pid' => $mypid, 'done' => false]);