Provide bin/garbage for interacting with garbage collection
Summary:
Fixes T9494. This:
- Removes all the random GC.x.y.z config.
- Puts it all in one place that's locked and which you use `bin/garbage set-policy ...` to adjust.
- Makes every TTL-based GC configurable.
- Simplifies the code in the actual GCs.
Test Plan:
- Ran `bin/garbage collect` to collect some garbage, until it stopped collecting.
- Ran `bin/garbage set-policy ...` to shorten policy. Saw change in web UI. Ran `bin/garbage collect` again and saw it collect more garbage.
- Set policy to indefinite and saw it not collect garabge.
- Set policy to default and saw it reflected in web UI / `collect`.
- Ran `bin/phd debug trigger` and saw all GCs fire with reasonable looking queries.
- Read new docs.
{F857928}
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T9494
Differential Revision: https://secure.phabricator.com/D14219
This commit is contained in:
@@ -13,10 +13,10 @@ final class PhabricatorFileTemporaryGarbageCollector
|
||||
return true;
|
||||
}
|
||||
|
||||
public function collectGarbage() {
|
||||
protected function collectGarbage() {
|
||||
$files = id(new PhabricatorFile())->loadAllWhere(
|
||||
'ttl < %d LIMIT 100',
|
||||
time());
|
||||
PhabricatorTime::getNow());
|
||||
|
||||
foreach ($files as $file) {
|
||||
$file->delete();
|
||||
|
||||
Reference in New Issue
Block a user