Allow to skip retrieving from cache in the DiscoveryService

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2018-04-06 12:24:41 +02:00
parent b2a87f84c4
commit a0028a2a5f
No known key found for this signature in database
GPG Key ID: F941078878347C0C
2 changed files with 11 additions and 7 deletions

View File

@ -59,15 +59,18 @@ class DiscoveryService implements IDiscoveryService {
*
* @param string $remote
* @param string $service the service you want to discover
* @param bool $skipCache We won't check if the data is in the cache. This is usefull if a background job is updating the status
* @return array
*/
public function discover(string $remote, string $service): array {
public function discover(string $remote, string $service, bool $skipCache = false): array {
// Check the cache first
$cacheData = $this->cache->get($remote . '#' . $service);
if($cacheData) {
$data = json_decode($cacheData, true);
if (\is_array($data)) {
return $data;
if ($skipCache === false) {
$cacheData = $this->cache->get($remote . '#' . $service);
if ($cacheData) {
$data = json_decode($cacheData, true);
if (\is_array($data)) {
return $data;
}
}
}

View File

@ -44,8 +44,9 @@ interface IDiscoveryService {
*
* @param string $remote
* @param string $service the service you want to discover
* @param bool $skipCache We won't check if the data is in the cache. This is usefull if a background job is updating the status
* @return array
*/
public function discover(string $remote, string $service): array;
public function discover(string $remote, string $service, bool $skipCache = false): array;
}