@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PhabricatorFileExternalRequestGarbageCollector
4 extends PhabricatorGarbageCollector {
5
6 const COLLECTORCONST = 'files.externalttl';
7
8 public function getCollectorName() {
9 return pht('External Requests (TTL)');
10 }
11
12 public function hasAutomaticPolicy() {
13 return true;
14 }
15
16 protected function collectGarbage() {
17 $file_requests = id(new PhabricatorFileExternalRequest())->loadAllWhere(
18 'ttl < %d LIMIT 100',
19 PhabricatorTime::getNow());
20 $engine = new PhabricatorDestructionEngine();
21 foreach ($file_requests as $request) {
22 $engine->destroyObject($request);
23 }
24
25 return (count($file_requests) == 100);
26 }
27
28}