Improve Stability, handle cases of deleted collections or databases
This commit is contained in:
parent
585ee4b88e
commit
001d13d7e9
1 changed files with 27 additions and 6 deletions
|
@ -178,8 +178,15 @@ class UsageDump extends Action
|
||||||
$databaseInternalId = $data[0];
|
$databaseInternalId = $data[0];
|
||||||
$collectionInternalId = $data[1];
|
$collectionInternalId = $data[1];
|
||||||
|
|
||||||
|
try {
|
||||||
$value = $dbForProject->getSizeOfCollection('database_'.$databaseInternalId.'_collection_'.$collectionInternalId);
|
$value = $dbForProject->getSizeOfCollection('database_'.$databaseInternalId.'_collection_'.$collectionInternalId);
|
||||||
$diskValue = $dbForProject->getSizeOfCollectionOnDisk('database_'.$databaseInternalId.'_collection_'.$collectionInternalId);
|
$diskValue = $dbForProject->getSizeOfCollectionOnDisk('database_'.$databaseInternalId.'_collection_'.$collectionInternalId);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
// Collection not found
|
||||||
|
if ($e->getMessage() !== 'Collection not found') {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Compare with previous value
|
// Compare with previous value
|
||||||
$diff = $value - $previousValue;
|
$diff = $value - $previousValue;
|
||||||
|
@ -210,8 +217,15 @@ class UsageDump extends Action
|
||||||
$collections = $dbForProject->find('database_' . $databaseInternalId);
|
$collections = $dbForProject->find('database_' . $databaseInternalId);
|
||||||
|
|
||||||
foreach ($collections as $collection) {
|
foreach ($collections as $collection) {
|
||||||
|
try {
|
||||||
$value += $dbForProject->getSizeOfCollection('database_'.$databaseInternalId.'_collection_'.$collection->getInternalId());
|
$value += $dbForProject->getSizeOfCollection('database_'.$databaseInternalId.'_collection_'.$collection->getInternalId());
|
||||||
$diskValue += $dbForProject->getSizeOfCollectionOnDisk('database_'.$databaseInternalId.'_collection_'.$collection->getInternalId());
|
$diskValue += $dbForProject->getSizeOfCollectionOnDisk('database_'.$databaseInternalId.'_collection_'.$collection->getInternalId());
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
// Collection not found
|
||||||
|
if ($e->getMessage() !== 'Collection not found') {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$diff = $value - $previousValue;
|
$diff = $value - $previousValue;
|
||||||
|
@ -242,8 +256,15 @@ class UsageDump extends Action
|
||||||
$collections = $dbForProject->find('database_' . $database->getInternalId());
|
$collections = $dbForProject->find('database_' . $database->getInternalId());
|
||||||
|
|
||||||
foreach ($collections as $collection) {
|
foreach ($collections as $collection) {
|
||||||
|
try {
|
||||||
$value += $dbForProject->getSizeOfCollection('database_'.$database->getInternalId().'_collection_'.$collection->getInternalId());
|
$value += $dbForProject->getSizeOfCollection('database_'.$database->getInternalId().'_collection_'.$collection->getInternalId());
|
||||||
$diskValue += $dbForProject->getSizeOfCollectionOnDisk('database_'.$database->getInternalId().'_collection_'.$collection->getInternalId());
|
$diskValue += $dbForProject->getSizeOfCollectionOnDisk('database_'.$database->getInternalId().'_collection_'.$collection->getInternalId());
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
// Collection not found
|
||||||
|
if ($e->getMessage() !== 'Collection not found') {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue