Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
GitHub Mirror
Nextcloud
server
Commits
9e80f6f1
Unverified
Commit
9e80f6f1
authored
Feb 22, 2022
by
Joas Schilling
Committed by
GitHub
Feb 22, 2022
Browse files
Merge pull request #31316 from nextcloud/enhancement/sensitive-insensitive-dav-background-jobs
Mark DAV background jobs as time sensitive/insensitive
parents
b5c6ae6d
c01eb077
Changes
13
Hide whitespace changes
Inline
Side-by-side
apps/dav/lib/BackgroundJob/CalendarRetentionJob.php
View file @
9e80f6f1
...
...
@@ -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
{
...
...
apps/dav/lib/BackgroundJob/CleanupDirectLinksJob.php
View file @
9e80f6f1
...
...
@@ -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
->
time
Factory
->
getTime
()
-
60
*
60
*
24
);
$this
->
mapper
->
deleteExpired
(
$this
->
time
->
getTime
()
-
60
*
60
*
24
);
}
}
apps/dav/lib/BackgroundJob/CleanupInvitationTokenJob.php
View file @
9e80f6f1
...
...
@@ -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
->
time
Factory
->
getTime
())))
$query
->
createNamedParameter
(
$this
->
time
->
getTime
())))
->
execute
();
}
}
apps/dav/lib/BackgroundJob/EventReminderJob.php
View file @
9e80f6f1
<?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
);
}
/**
...
...
apps/dav/lib/BackgroundJob/GenerateBirthdayCalendarBackgroundJob.php
View file @
9e80f6f1
<?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
;
}
...
...
apps/dav/lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php
View file @
9e80f6f1
<?php
declare
(
strict_types
=
1
);
/**
* @copyright 2019 Georg Ehrke <oc.list@georgehrke.com>
*
...
...
apps/dav/lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php
View file @
9e80f6f1
...
...
@@ -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
;
//
r
un once an hour
//
R
un once an hour
$this
->
setInterval
(
60
*
60
);
$this
->
setTimeSensitivity
(
self
::
TIME_SENSITIVE
);
}
/**
...
...
apps/dav/tests/unit/BackgroundJob/EventReminderJobTest.php
View file @
9e80f6f1
...
...
@@ -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
{
...
...
apps/dav/tests/unit/BackgroundJob/GenerateBirthdayCalendarBackgroundJobTest.php
View file @
9e80f6f1
<?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
()
{
...
...
apps/dav/tests/unit/BackgroundJob/RefreshWebcalJobTest.php
View file @
9e80f6f1
<?php
declare
(
strict_types
=
1
);
/**
* @copyright Copyright (c) 2018, Georg Ehrke
*
...
...
apps/dav/tests/unit/BackgroundJob/RegisterRegenerateBirthdayCalendarsTest.php
View file @
9e80f6f1
<?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
()
{
...
...
apps/dav/tests/unit/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJobTest.php
View file @
9e80f6f1
<?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
{
...
...
apps/federatedfilesharing/lib/BackgroundJob/RetryJob.php
View file @
9e80f6f1
...
...
@@ -56,8 +56,8 @@ class RetryJob extends Job {
public
function
__construct
(
Notifications
$notifications
,
ITimeFactory
$time
Factory
)
{
parent
::
__construct
(
$time
Factory
);
ITimeFactory
$time
)
{
parent
::
__construct
(
$time
);
$this
->
notifications
=
$notifications
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment