Add disableSubqueries method to Action class and integrate it into StatsResources initialization

This commit is contained in:
Christy Jacob 2025-06-25 21:46:15 +04:00
parent 5173e03636
commit 3cd31e2c06
2 changed files with 26 additions and 3 deletions

View file

@ -87,4 +87,25 @@ class Action extends UtopiaAction
$latestDocument = $results[array_key_last($results)];
}
}
public function disableSubqueries()
{
$filters = [
'subQueryKeys', 'subQueryWebhooks', 'subQueryPlatforms', 'subQueryProjectVariables', 'subQueryBlocks', 'subQueryDevKeys', // Project
'subQueryAuthenticators', 'subQuerySessions', 'subQueryTokens', 'subQueryChallenges', 'subQueryMemberships', 'subQueryTargets', 'subQueryTopicTargets',// Users
'subQueryVariables', // Sites
];
foreach ($filters as $filter) {
Database::addFilter(
$filter,
function (mixed $value) {
return;
},
function (mixed $value, Document $document, Database $database) {
return [];
}
);
}
}
}

View file

@ -4,7 +4,6 @@ namespace Appwrite\Platform\Tasks;
use Appwrite\Event\StatsResources as EventStatsResources;
use Appwrite\Platform\Action;
use Swoole\Timer;
use Utopia\CLI\Console;
use Utopia\Database\Database;
use Utopia\Database\DateTime;
@ -54,12 +53,15 @@ class StatsResources extends Action
$this->logError = $logError;
$this->dbForPlatform = $dbForPlatform;
$this->disableSubqueries();
Console::title("Stats resources V1");
Console::success('Stats resources: started');
$interval = (int) System::getEnv('_APP_STATS_RESOURCES_INTERVAL', '3600');
Timer::tick($interval * 1000, function () use ($queue) {
Console::loop(function () use ($queue) {
Authorization::disable();
Authorization::setDefaultStatus(false);
@ -76,7 +78,7 @@ class StatsResources extends Action
->trigger();
Console::success('project: ' . $project->getId() . '(' . $project->getSequence() . ')' . ' queued');
});
});
}, $interval);
Console::log("Stats resources: exited");
}