Merge pull request #16865 from nextcloud/bugfix/noid/5-min-cron

Cron should run every 5 mins
This commit is contained in:
Roeland Jago Douma 2019-08-26 19:29:57 +02:00 committed by GitHub
commit 505f10044a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 58 deletions

View File

@ -26,48 +26,19 @@
namespace OC\Settings\Admin; namespace OC\Settings\Admin;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\DBALException;
use Doctrine\DBAL\Platforms\SqlitePlatform;
use OC\Lock\DBLockingProvider;
use OC\Lock\NoopLockingProvider;
use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Http\TemplateResponse;
use OCP\IConfig; use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IL10N;
use OCP\IRequest;
use OCP\Lock\ILockingProvider;
use OCP\Settings\ISettings; use OCP\Settings\ISettings;
class Server implements ISettings { class Server implements ISettings {
/** @var IDBConnection|Connection */
private $db;
/** @var IRequest */
private $request;
/** @var IConfig */ /** @var IConfig */
private $config; private $config;
/** @var ILockingProvider */
private $lockingProvider;
/** @var IL10N */
private $l;
/** /**
* @param IDBConnection $db
* @param IRequest $request
* @param IConfig $config * @param IConfig $config
* @param ILockingProvider $lockingProvider
* @param IL10N $l
*/ */
public function __construct(IDBConnection $db, public function __construct(IConfig $config) {
IRequest $request,
IConfig $config,
ILockingProvider $lockingProvider,
IL10N $l) {
$this->db = $db;
$this->request = $request;
$this->config = $config; $this->config = $config;
$this->lockingProvider = $lockingProvider;
$this->l = $l;
} }
/** /**
@ -89,7 +60,7 @@ class Server implements ISettings {
/** /**
* @return string the section ID, e.g. 'sharing' * @return string the section ID, e.g. 'sharing'
*/ */
public function getSection() { public function getSection(): string {
return 'server'; return 'server';
} }
@ -100,7 +71,7 @@ class Server implements ISettings {
* *
* E.g.: 70 * E.g.: 70
*/ */
public function getPriority() { public function getPriority(): int {
return 0; return 0;
} }
} }

View File

@ -34,7 +34,7 @@
$formatter = \OC::$server->getDateTimeFormatter(); $formatter = \OC::$server->getDateTimeFormatter();
$absolute_time = $formatter->formatDateTime($_['lastcron'], 'long', 'long'); $absolute_time = $formatter->formatDateTime($_['lastcron'], 'long', 'long');
if (time() - $_['lastcron'] <= 3600): ?> if (time() - $_['lastcron'] <= 600): ?>
<span class="status success"></span> <span class="status success"></span>
<span class="crondate" title="<?php p($absolute_time);?>"> <span class="crondate" title="<?php p($absolute_time);?>">
<?php p($l->t("Last job ran %s.", [$relative_time]));?> <?php p($l->t("Last job ran %s.", [$relative_time]));?>
@ -72,7 +72,7 @@
print_unescaped('checked="checked"'); print_unescaped('checked="checked"');
} ?>> } ?>>
<label for="backgroundjobs_webcron">Webcron</label><br/> <label for="backgroundjobs_webcron">Webcron</label><br/>
<em><?php p($l->t("cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP.")); ?></em> <em><?php p($l->t("cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP.")); ?></em>
</p> </p>
<p> <p>
<input type="radio" name="mode" value="cron" class="radio" <input type="radio" name="mode" value="cron" class="radio"
@ -83,7 +83,7 @@
print_unescaped('disabled'); print_unescaped('disabled');
}?>> }?>>
<label for="backgroundjobs_cron">Cron</label><br/> <label for="backgroundjobs_cron">Cron</label><br/>
<em><?php p($l->t("Use system cron service to call the cron.php file every 15 minutes.")); ?> <em><?php p($l->t("Use system cron service to call the cron.php file every 5 minutes.")); ?>
<?php if($_['cli_based_cron_possible']) { <?php if($_['cli_based_cron_possible']) {
p($l->t('The cron.php needs to be executed by the system user "%s".', [$_['cli_based_cron_user']])); p($l->t('The cron.php needs to be executed by the system user "%s".', [$_['cli_based_cron_user']]));
} else { } else {

View File

@ -23,44 +23,23 @@
namespace Test\Settings\Admin; namespace Test\Settings\Admin;
use Doctrine\DBAL\Platforms\SqlitePlatform;
use OC\Settings\Admin\Server; use OC\Settings\Admin\Server;
use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Http\TemplateResponse;
use OCP\IConfig; use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IL10N;
use OCP\IRequest;
use OCP\Lock\ILockingProvider;
use Test\TestCase; use Test\TestCase;
class ServerTest extends TestCase { class ServerTest extends TestCase {
/** @var Server */ /** @var Server */
private $admin; private $admin;
/** @var IDBConnection */
private $dbConnection;
/** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */
private $request;
/** @var IConfig */ /** @var IConfig */
private $config; private $config;
/** @var ILockingProvider */
private $lockingProvider;
/** @var IL10N */
private $l10n;
public function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$this->config = $this->getMockBuilder(IConfig::class)->getMock(); $this->config = $this->createMock(IConfig::class);
$this->request = $this->createMock(IRequest::class);
$this->dbConnection = $this->getMockBuilder('\OCP\IDBConnection')->getMock();
$this->lockingProvider = $this->getMockBuilder('\OCP\Lock\ILockingProvider')->getMock();
$this->l10n = $this->getMockBuilder(IL10N::class)->getMock();
$this->admin = new Server( $this->admin = new Server(
$this->dbConnection, $this->config
$this->request,
$this->config,
$this->lockingProvider,
$this->l10n
); );
} }