Page MenuHomePhorge

DiffusionCacheEngineExtension.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

DiffusionCacheEngineExtension.php

<?php
final class DiffusionCacheEngineExtension
extends PhabricatorCacheEngineExtension {
const EXTENSIONKEY = 'diffusion';
public function getExtensionName() {
return pht('Diffusion Repositories');
}
public function discoverLinkedObjects(
PhabricatorCacheEngine $engine,
array $objects) {
$viewer = $engine->getViewer();
$results = array();
// When an Almanac Service changes, update linked repositories.
$services = $this->selectObjects($objects, 'AlmanacService');
if ($services) {
$repositories = id(new PhabricatorRepositoryQuery())
->setViewer($viewer)
->withAlmanacServicePHIDs(mpull($services, 'getPHID'))
->execute();
foreach ($repositories as $repository) {
$results[] = $repository;
}
}
return $results;
}
public function deleteCaches(
PhabricatorCacheEngine $engine,
array $objects) {
$keys = array();
$repositories = $this->selectObjects($objects, 'PhabricatorRepository');
foreach ($repositories as $repository) {
$keys[] = $repository->getAlmanacServiceCacheKey();
}
$keys = array_filter($keys);
if ($keys) {
$cache = PhabricatorCaches::getMutableStructureCache();
$cache->deleteKeys($keys);
}
}
}

File Metadata

Mime Type
text/x-php
Expires
Sun, May 4, 8:35 PM (1 d, 11 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
67766
Default Alt Text
DiffusionCacheEngineExtension.php (1 KB)

Event Timeline