 9c798e5cca
			
		
	
	9c798e5cca
	
	
	
		
			
			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
		
	
		
			
				
	
	
		
			22 lines
		
	
	
		
			581 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			581 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env php
 | |
| <?php
 | |
| 
 | |
| $root = dirname(dirname(dirname(__FILE__)));
 | |
| require_once $root.'/scripts/__init_script__.php';
 | |
| 
 | |
| $args = new PhutilArgumentParser($argv);
 | |
| $args->setTagline(pht('manage garbage colletors'));
 | |
| $args->setSynopsis(<<<EOSYNOPSIS
 | |
| **garbage** __command__ [__options__]
 | |
|     Manage garbage collectors.
 | |
| 
 | |
| EOSYNOPSIS
 | |
|   );
 | |
| $args->parseStandardArguments();
 | |
| 
 | |
| $workflows = id(new PhutilClassMapQuery())
 | |
|   ->setAncestorClass('PhabricatorGarbageCollectorManagementWorkflow')
 | |
|   ->execute();
 | |
| $workflows[] = new PhutilHelpArgumentWorkflow();
 | |
| $args->parseWorkflows($workflows);
 |