summaryrefslogtreecommitdiffstats
path: root/apps/settings/lib
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2020-02-06 20:10:30 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2020-02-08 10:21:54 +0100
commitbf74c4f21bf81cdb2d2e4188529c46215dc3bf6a (patch)
tree33426dd1a540202d76735d419c9ea2d958523a3c /apps/settings/lib
parent5c650f876c0c72e241bc3b77b8489c4e8227912f (diff)
downloadnextcloud-server-bf74c4f21bf81cdb2d2e4188529c46215dc3bf6a.tar.gz
nextcloud-server-bf74c4f21bf81cdb2d2e4188529c46215dc3bf6a.zip
Warn admins about delayed cron executions
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps/settings/lib')
-rw-r--r--apps/settings/lib/Settings/Admin/Server.php26
1 files changed, 22 insertions, 4 deletions
diff --git a/apps/settings/lib/Settings/Admin/Server.php b/apps/settings/lib/Settings/Admin/Server.php
index 6216af4aada..40333e1043c 100644
--- a/apps/settings/lib/Settings/Admin/Server.php
+++ b/apps/settings/lib/Settings/Admin/Server.php
@@ -29,16 +29,19 @@ namespace OCA\Settings\Settings\Admin;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\IConfig;
+use OCP\IDBConnection;
use OCP\Settings\ISettings;
class Server implements ISettings {
+
+ /** @var IDBConnection */
+ private $connection;
/** @var IConfig */
private $config;
- /**
- * @param IConfig $config
- */
- public function __construct(IConfig $config) {
+ public function __construct(IDBConnection $connection,
+ IConfig $config) {
+ $this->connection = $connection;
$this->config = $config;
}
@@ -46,10 +49,25 @@ class Server implements ISettings {
* @return TemplateResponse
*/
public function getForm() {
+ $query = $this->connection->getQueryBuilder();
+ $query->select('last_checked')
+ ->from('jobs')
+ ->orderBy('last_checked', 'ASC')
+ ->setMaxResults(1);
+
+ $result = $query->execute();
+ if ($row = $result->fetch()) {
+ $maxAge = (int) $row['last_checked'];
+ } else {
+ $maxAge = time();
+ }
+ $result->closeCursor();
+
$parameters = [
// Background jobs
'backgroundjobs_mode' => $this->config->getAppValue('core', 'backgroundjobs_mode', 'ajax'),
'lastcron' => $this->config->getAppValue('core', 'lastcron', false),
+ 'cronMaxAge' => $maxAge,
'cronErrors' => $this->config->getAppValue('core', 'cronErrors'),
'cli_based_cron_possible' => function_exists('posix_getpwuid'),
'cli_based_cron_user' => function_exists('posix_getpwuid') ? posix_getpwuid(fileowner(\OC::$configDir . 'config.php'))['name'] : '',