Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <213943+nickvergessen@users.noreply.github.com>2022-02-22 17:31:56 +0300
committerGitHub <noreply@github.com>2022-02-22 17:31:56 +0300
commit9e80f6f18a2247d60438cac64fe52156a79ff93d (patch)
tree7930619834f0826d384121ecb99ef4af85a4b292
parentb5c6ae6d4f3ad5a3b0d86a7580fb860d8bfb384c (diff)
parentc01eb0775648bd54e9cd4904499a30f448554968 (diff)
Merge pull request #31316 from nextcloud/enhancement/sensitive-insensitive-dav-background-jobs
Mark DAV background jobs as time sensitive/insensitive
-rw-r--r--apps/dav/lib/BackgroundJob/CalendarRetentionJob.php1
-rw-r--r--apps/dav/lib/BackgroundJob/CleanupDirectLinksJob.php15
-rw-r--r--apps/dav/lib/BackgroundJob/CleanupInvitationTokenJob.php15
-rw-r--r--apps/dav/lib/BackgroundJob/EventReminderJob.php23
-rw-r--r--apps/dav/lib/BackgroundJob/GenerateBirthdayCalendarBackgroundJob.php17
-rw-r--r--apps/dav/lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php3
-rw-r--r--apps/dav/lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php10
-rw-r--r--apps/dav/tests/unit/BackgroundJob/EventReminderJobTest.php18
-rw-r--r--apps/dav/tests/unit/BackgroundJob/GenerateBirthdayCalendarBackgroundJobTest.php18
-rw-r--r--apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php3
-rw-r--r--apps/dav/tests/unit/BackgroundJob/RegisterRegenerateBirthdayCalendarsTest.php14
-rw-r--r--apps/dav/tests/unit/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJobTest.php27
-rw-r--r--apps/federatedfilesharing/lib/BackgroundJob/RetryJob.php4
13 files changed, 109 insertions, 59 deletions
diff --git a/apps/dav/lib/BackgroundJob/CalendarRetentionJob.php b/apps/dav/lib/BackgroundJob/CalendarRetentionJob.php
index 6be6d7c3cd1..b57ed07d5c2 100644
--- a/apps/dav/lib/BackgroundJob/CalendarRetentionJob.php
+++ b/apps/dav/lib/BackgroundJob/CalendarRetentionJob.php
@@ -40,6 +40,7 @@ class CalendarRetentionJob extends TimedJob {
// Run four times a day
$this->setInterval(6 * 60 * 60);
+ $this->setTimeSensitivity(self::TIME_SENSITIVE);
}
protected function run($argument): void {
diff --git a/apps/dav/lib/BackgroundJob/CleanupDirectLinksJob.php b/apps/dav/lib/BackgroundJob/CleanupDirectLinksJob.php
index 6c10a05f9a5..073fc53e07a 100644
--- a/apps/dav/lib/BackgroundJob/CleanupDirectLinksJob.php
+++ b/apps/dav/lib/BackgroundJob/CleanupDirectLinksJob.php
@@ -26,26 +26,25 @@ declare(strict_types=1);
*/
namespace OCA\DAV\BackgroundJob;
-use OC\BackgroundJob\TimedJob;
use OCA\DAV\Db\DirectMapper;
use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
class CleanupDirectLinksJob extends TimedJob {
- /** @var ITimeFactory */
- private $timeFactory;
-
/** @var DirectMapper */
private $mapper;
public function __construct(ITimeFactory $timeFactory, DirectMapper $mapper) {
- $this->setInterval(60 * 60 * 24);
-
- $this->timeFactory = $timeFactory;
+ parent::__construct($timeFactory);
$this->mapper = $mapper;
+
+ // Run once a day at off-peak time
+ $this->setInterval(24 * 60 * 60);
+ $this->setTimeSensitivity(self::TIME_INSENSITIVE);
}
protected function run($argument) {
// Delete all shares expired 24 hours ago
- $this->mapper->deleteExpired($this->timeFactory->getTime() - 60 * 60 * 24);
+ $this->mapper->deleteExpired($this->time->getTime() - 60 * 60 * 24);
}
}
diff --git a/apps/dav/lib/BackgroundJob/CleanupInvitationTokenJob.php b/apps/dav/lib/BackgroundJob/CleanupInvitationTokenJob.php
index 9621b5d9499..6339e721c93 100644
--- a/apps/dav/lib/BackgroundJob/CleanupInvitationTokenJob.php
+++ b/apps/dav/lib/BackgroundJob/CleanupInvitationTokenJob.php
@@ -26,8 +26,8 @@ declare(strict_types=1);
*/
namespace OCA\DAV\BackgroundJob;
-use OC\BackgroundJob\TimedJob;
use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCP\IDBConnection;
class CleanupInvitationTokenJob extends TimedJob {
@@ -35,21 +35,20 @@ class CleanupInvitationTokenJob extends TimedJob {
/** @var IDBConnection */
private $db;
- /** @var ITimeFactory */
- private $timeFactory;
-
- public function __construct(IDBConnection $db, ITimeFactory $timeFactory) {
+ public function __construct(IDBConnection $db, ITimeFactory $time) {
+ parent::__construct($time);
$this->db = $db;
- $this->timeFactory = $timeFactory;
- $this->setInterval(60 * 60 * 24);
+ // Run once a day at off-peak time
+ $this->setInterval(24 * 60 * 60);
+ $this->setTimeSensitivity(self::TIME_INSENSITIVE);
}
public function run($argument) {
$query = $this->db->getQueryBuilder();
$query->delete('calendar_invitations')
->where($query->expr()->lt('expiration',
- $query->createNamedParameter($this->timeFactory->getTime())))
+ $query->createNamedParameter($this->time->getTime())))
->execute();
}
}
diff --git a/apps/dav/lib/BackgroundJob/EventReminderJob.php b/apps/dav/lib/BackgroundJob/EventReminderJob.php
index b67a5d970bb..ab7dadd8c0b 100644
--- a/apps/dav/lib/BackgroundJob/EventReminderJob.php
+++ b/apps/dav/lib/BackgroundJob/EventReminderJob.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright Copyright (c) 2016 Thomas Citharel <nextcloud@tcit.fr>
*
@@ -23,8 +26,9 @@
*/
namespace OCA\DAV\BackgroundJob;
-use OC\BackgroundJob\TimedJob;
use OCA\DAV\CalDAV\Reminder\ReminderService;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCP\IConfig;
class EventReminderJob extends TimedJob {
@@ -35,17 +39,16 @@ class EventReminderJob extends TimedJob {
/** @var IConfig */
private $config;
- /**
- * EventReminderJob constructor.
- *
- * @param ReminderService $reminderService
- * @param IConfig $config
- */
- public function __construct(ReminderService $reminderService, IConfig $config) {
+ public function __construct(ITimeFactory $time,
+ ReminderService $reminderService,
+ IConfig $config) {
+ parent::__construct($time);
$this->reminderService = $reminderService;
$this->config = $config;
- /** Run every 5 minutes */
- $this->setInterval(5);
+
+ // Run every 5 minutes
+ $this->setInterval(5 * 60);
+ $this->setTimeSensitivity(self::TIME_SENSITIVE);
}
/**
diff --git a/apps/dav/lib/BackgroundJob/GenerateBirthdayCalendarBackgroundJob.php b/apps/dav/lib/BackgroundJob/GenerateBirthdayCalendarBackgroundJob.php
index 2fdb7617937..a338a172d66 100644
--- a/apps/dav/lib/BackgroundJob/GenerateBirthdayCalendarBackgroundJob.php
+++ b/apps/dav/lib/BackgroundJob/GenerateBirthdayCalendarBackgroundJob.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright 2017 Georg Ehrke <oc.list@georgehrke.com>
*
@@ -22,8 +25,9 @@
*/
namespace OCA\DAV\BackgroundJob;
-use OC\BackgroundJob\QueuedJob;
use OCA\DAV\CalDAV\BirthdayService;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\QueuedJob;
use OCP\IConfig;
class GenerateBirthdayCalendarBackgroundJob extends QueuedJob {
@@ -34,14 +38,11 @@ class GenerateBirthdayCalendarBackgroundJob extends QueuedJob {
/** @var IConfig */
private $config;
- /**
- * GenerateAllBirthdayCalendarsBackgroundJob constructor.
- *
- * @param BirthdayService $birthdayService
- * @param IConfig $config
- */
- public function __construct(BirthdayService $birthdayService,
+ public function __construct(ITimeFactory $time,
+ BirthdayService $birthdayService,
IConfig $config) {
+ parent::__construct($time);
+
$this->birthdayService = $birthdayService;
$this->config = $config;
}
diff --git a/apps/dav/lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php b/apps/dav/lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php
index 0813de7d1ad..85da81b3b91 100644
--- a/apps/dav/lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php
+++ b/apps/dav/lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright 2019 Georg Ehrke <oc.list@georgehrke.com>
*
diff --git a/apps/dav/lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php b/apps/dav/lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php
index 9b3aeac5904..f7addd58248 100644
--- a/apps/dav/lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php
+++ b/apps/dav/lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php
@@ -28,8 +28,9 @@ declare(strict_types=1);
namespace OCA\DAV\BackgroundJob;
-use OC\BackgroundJob\TimedJob;
use OCA\DAV\CalDAV\CalDavBackend;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCP\Calendar\BackendTemporarilyUnavailableException;
use OCP\Calendar\IMetadataProvider;
use OCP\Calendar\Resource\IBackend as IResourceBackend;
@@ -53,17 +54,20 @@ class UpdateCalendarResourcesRoomsBackgroundJob extends TimedJob {
/** @var CalDavBackend */
private $calDavBackend;
- public function __construct(IResourceManager $resourceManager,
+ public function __construct(ITimeFactory $time,
+ IResourceManager $resourceManager,
IRoomManager $roomManager,
IDBConnection $dbConnection,
CalDavBackend $calDavBackend) {
+ parent::__construct($time);
$this->resourceManager = $resourceManager;
$this->roomManager = $roomManager;
$this->dbConnection = $dbConnection;
$this->calDavBackend = $calDavBackend;
- // run once an hour
+ // Run once an hour
$this->setInterval(60 * 60);
+ $this->setTimeSensitivity(self::TIME_SENSITIVE);
}
/**
diff --git a/apps/dav/tests/unit/BackgroundJob/EventReminderJobTest.php b/apps/dav/tests/unit/BackgroundJob/EventReminderJobTest.php
index f9276b61956..ed3c324e710 100644
--- a/apps/dav/tests/unit/BackgroundJob/EventReminderJobTest.php
+++ b/apps/dav/tests/unit/BackgroundJob/EventReminderJobTest.php
@@ -30,27 +30,37 @@ namespace OCA\DAV\Tests\unit\BackgroundJob;
use OCA\DAV\BackgroundJob\EventReminderJob;
use OCA\DAV\CalDAV\Reminder\ReminderService;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class EventReminderJobTest extends TestCase {
- /** @var ReminderService|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var ITimeFactory|MockObject */
+ private $time;
+
+ /** @var ReminderService|MockObject */
private $reminderService;
- /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IConfig|MockObject */
private $config;
- /** @var EventReminderJob|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var EventReminderJob|MockObject */
private $backgroundJob;
protected function setUp(): void {
parent::setUp();
+ $this->time = $this->createMock(ITimeFactory::class);
$this->reminderService = $this->createMock(ReminderService::class);
$this->config = $this->createMock(IConfig::class);
- $this->backgroundJob = new EventReminderJob($this->reminderService, $this->config);
+ $this->backgroundJob = new EventReminderJob(
+ $this->time,
+ $this->reminderService,
+ $this->config,
+ );
}
public function data(): array {
diff --git a/apps/dav/tests/unit/BackgroundJob/GenerateBirthdayCalendarBackgroundJobTest.php b/apps/dav/tests/unit/BackgroundJob/GenerateBirthdayCalendarBackgroundJobTest.php
index 6c6e02ce717..e0601c5c71a 100644
--- a/apps/dav/tests/unit/BackgroundJob/GenerateBirthdayCalendarBackgroundJobTest.php
+++ b/apps/dav/tests/unit/BackgroundJob/GenerateBirthdayCalendarBackgroundJobTest.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright Copyright (c) 2017, Georg Ehrke
*
@@ -27,15 +30,20 @@ namespace OCA\DAV\Tests\unit\BackgroundJob;
use OCA\DAV\BackgroundJob\GenerateBirthdayCalendarBackgroundJob;
use OCA\DAV\CalDAV\BirthdayService;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class GenerateBirthdayCalendarBackgroundJobTest extends TestCase {
- /** @var BirthdayService | \PHPUnit\Framework\MockObject\MockObject */
+ /** @var ITimeFactory|MockObject */
+ private $time;
+
+ /** @var BirthdayService | MockObject */
private $birthdayService;
- /** @var IConfig | \PHPUnit\Framework\MockObject\MockObject */
+ /** @var IConfig | MockObject */
private $config;
/** @var \OCA\DAV\BackgroundJob\GenerateBirthdayCalendarBackgroundJob */
@@ -44,11 +52,15 @@ class GenerateBirthdayCalendarBackgroundJobTest extends TestCase {
protected function setUp(): void {
parent::setUp();
+ $this->time = $this->createMock(ITimeFactory::class);
$this->birthdayService = $this->createMock(BirthdayService::class);
$this->config = $this->createMock(IConfig::class);
$this->backgroundJob = new GenerateBirthdayCalendarBackgroundJob(
- $this->birthdayService, $this->config);
+ $this->time,
+ $this->birthdayService,
+ $this->config,
+ );
}
public function testRun() {
diff --git a/apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php b/apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php
index eba2a21f761..360c4c791c7 100644
--- a/apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php
+++ b/apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright Copyright (c) 2018, Georg Ehrke
*
diff --git a/apps/dav/tests/unit/BackgroundJob/RegisterRegenerateBirthdayCalendarsTest.php b/apps/dav/tests/unit/BackgroundJob/RegisterRegenerateBirthdayCalendarsTest.php
index f3b1878a833..00931d53f64 100644
--- a/apps/dav/tests/unit/BackgroundJob/RegisterRegenerateBirthdayCalendarsTest.php
+++ b/apps/dav/tests/unit/BackgroundJob/RegisterRegenerateBirthdayCalendarsTest.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright 2019 Georg Ehrke <oc.list@georgehrke.com>
*
@@ -45,9 +48,6 @@ class RegisterRegenerateBirthdayCalendarsTest extends TestCase {
/** @var IJobList | \PHPUnit\Framework\MockObject\MockObject */
private $jobList;
- /** @var IConfig | \PHPUnit\Framework\MockObject\MockObject */
- private $config;
-
/** @var RegisterRegenerateBirthdayCalendars */
private $backgroundJob;
@@ -57,10 +57,12 @@ class RegisterRegenerateBirthdayCalendarsTest extends TestCase {
$this->time = $this->createMock(ITimeFactory::class);
$this->userManager = $this->createMock(IUserManager::class);
$this->jobList = $this->createMock(IJobList::class);
- $this->config = $this->createMock(IConfig::class);
- $this->backgroundJob = new RegisterRegenerateBirthdayCalendars($this->time,
- $this->userManager, $this->jobList);
+ $this->backgroundJob = new RegisterRegenerateBirthdayCalendars(
+ $this->time,
+ $this->userManager,
+ $this->jobList
+ );
}
public function testRun() {
diff --git a/apps/dav/tests/unit/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJobTest.php b/apps/dav/tests/unit/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJobTest.php
index 5974d0dec99..59b68452862 100644
--- a/apps/dav/tests/unit/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJobTest.php
+++ b/apps/dav/tests/unit/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJobTest.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright Copyright (c) 2018, Georg Ehrke
*
@@ -29,12 +32,14 @@ namespace OCA\DAV\Tests\unit\BackgroundJob;
use OCA\DAV\BackgroundJob\UpdateCalendarResourcesRoomsBackgroundJob;
use OCA\DAV\CalDAV\CalDavBackend;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Calendar\BackendTemporarilyUnavailableException;
use OCP\Calendar\IMetadataProvider;
use OCP\Calendar\Resource\IBackend;
use OCP\Calendar\Resource\IManager as IResourceManager;
use OCP\Calendar\Resource\IResource;
use OCP\Calendar\Room\IManager as IRoomManager;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
interface tmpI extends IResource, IMetadataProvider {
@@ -42,28 +47,36 @@ interface tmpI extends IResource, IMetadataProvider {
class UpdateCalendarResourcesRoomsBackgroundJobTest extends TestCase {
- /** @var UpdateCalendarResourcesRoomsBackgroundJob */
- private $backgroundJob;
+ /** @var ITimeFactory|MockObject */
+ private $time;
- /** @var IResourceManager | \PHPUnit\Framework\MockObject\MockObject */
+ /** @var IResourceManager|MockObject */
private $resourceManager;
- /** @var IRoomManager | \PHPUnit\Framework\MockObject\MockObject */
+ /** @var IRoomManager|MockObject */
private $roomManager;
- /** @var CalDavBackend | \PHPUnit\Framework\MockObject\MockObject */
+ /** @var CalDavBackend|MockObject */
private $calDavBackend;
+ /** @var UpdateCalendarResourcesRoomsBackgroundJob */
+ private $backgroundJob;
+
protected function setUp(): void {
parent::setUp();
+ $this->time = $this->createMock(ITimeFactory::class);
$this->resourceManager = $this->createMock(IResourceManager::class);
$this->roomManager = $this->createMock(IRoomManager::class);
$this->calDavBackend = $this->createMock(CalDavBackend::class);
$this->backgroundJob = new UpdateCalendarResourcesRoomsBackgroundJob(
- $this->resourceManager, $this->roomManager, self::$realDatabase,
- $this->calDavBackend);
+ $this->time,
+ $this->resourceManager,
+ $this->roomManager,
+ self::$realDatabase,
+ $this->calDavBackend
+ );
}
protected function tearDown(): void {
diff --git a/apps/federatedfilesharing/lib/BackgroundJob/RetryJob.php b/apps/federatedfilesharing/lib/BackgroundJob/RetryJob.php
index f631abaabe0..cf0691de3ac 100644
--- a/apps/federatedfilesharing/lib/BackgroundJob/RetryJob.php
+++ b/apps/federatedfilesharing/lib/BackgroundJob/RetryJob.php
@@ -56,8 +56,8 @@ class RetryJob extends Job {
public function __construct(Notifications $notifications,
- ITimeFactory $timeFactory) {
- parent::__construct($timeFactory);
+ ITimeFactory $time) {
+ parent::__construct($time);
$this->notifications = $notifications;
}