1
0
Fork 0
mirror of synced 2024-10-01 01:37:56 +13:00

Improve Stability, handle cases of deleted collections or databases

This commit is contained in:
Bradley Schofield 2024-09-24 16:08:46 +09:00
parent 585ee4b88e
commit 001d13d7e9

View file

@ -178,8 +178,15 @@ class UsageDump extends Action
$databaseInternalId = $data[0]; $databaseInternalId = $data[0];
$collectionInternalId = $data[1]; $collectionInternalId = $data[1];
$value = $dbForProject->getSizeOfCollection('database_'.$databaseInternalId.'_collection_'.$collectionInternalId); try {
$diskValue = $dbForProject->getSizeOfCollectionOnDisk('database_'.$databaseInternalId.'_collection_'.$collectionInternalId); $value = $dbForProject->getSizeOfCollection('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) {
$value += $dbForProject->getSizeOfCollection('database_'.$databaseInternalId.'_collection_'.$collection->getInternalId()); try {
$diskValue += $dbForProject->getSizeOfCollectionOnDisk('database_'.$databaseInternalId.'_collection_'.$collection->getInternalId()); $value += $dbForProject->getSizeOfCollection('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) {
$value += $dbForProject->getSizeOfCollection('database_'.$database->getInternalId().'_collection_'.$collection->getInternalId()); try {
$diskValue += $dbForProject->getSizeOfCollectionOnDisk('database_'.$database->getInternalId().'_collection_'.$collection->getInternalId()); $value += $dbForProject->getSizeOfCollection('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;
}
}
} }
} }