Permanently delete deck cards marked as deleted after 5 min in a cron job
Limit deleted cards in one cron job run to 500 Converted spaces to tabs Added missing import for CardMapper class Added another missing import for CardMapper class Fixed response object in findToDelete method + fixed 2 misspellings in API.md Fixed invalid parameter type Fix DeleteCronTest Signed-off-by: Marcel Klehr <mklehr@gmx.net> Fix lint errors Signed-off-by: Marcel Klehr <mklehr@gmx.net>
This commit is contained in:
committed by
Julius Härtl
parent
19f466fd4d
commit
8698e2ce3f
@@ -28,6 +28,7 @@ use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\BackgroundJob\TimedJob;
|
||||
use OCA\Deck\Db\AttachmentMapper;
|
||||
use OCA\Deck\Db\BoardMapper;
|
||||
use OCA\Deck\Db\CardMapper;
|
||||
use OCA\Deck\InvalidAttachmentType;
|
||||
use OCA\Deck\Service\AttachmentService;
|
||||
use OCP\BackgroundJob\IJob;
|
||||
@@ -36,14 +37,17 @@ class DeleteCron extends TimedJob {
|
||||
|
||||
/** @var BoardMapper */
|
||||
private $boardMapper;
|
||||
/** @var CardMapper */
|
||||
private $cardMapper;
|
||||
/** @var AttachmentService */
|
||||
private $attachmentService;
|
||||
/** @var AttachmentMapper */
|
||||
private $attachmentMapper;
|
||||
|
||||
public function __construct(ITimeFactory $time, BoardMapper $boardMapper, AttachmentService $attachmentService, AttachmentMapper $attachmentMapper) {
|
||||
public function __construct(ITimeFactory $time, BoardMapper $boardMapper, CardMapper $cardMapper, AttachmentService $attachmentService, AttachmentMapper $attachmentMapper) {
|
||||
parent::__construct($time);
|
||||
$this->boardMapper = $boardMapper;
|
||||
$this->cardMapper = $cardMapper;
|
||||
$this->attachmentService = $attachmentService;
|
||||
$this->attachmentMapper = $attachmentMapper;
|
||||
|
||||
@@ -61,6 +65,12 @@ class DeleteCron extends TimedJob {
|
||||
$this->boardMapper->delete($board);
|
||||
}
|
||||
|
||||
$timeLimit = time() - (60 * 5); // 5 min buffer
|
||||
$cards = $this->cardMapper->findToDelete($timeLimit, 500);
|
||||
foreach ($cards as $card) {
|
||||
$this->cardMapper->delete($card);
|
||||
}
|
||||
|
||||
$attachments = $this->attachmentMapper->findToDelete();
|
||||
foreach ($attachments as $attachment) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user