This commit is contained in:
37
worker.php
Normal file
37
worker.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
use Aternos\Mclogs\Api\ApiRouter;
|
||||
use Aternos\Mclogs\Config\Config;
|
||||
use Aternos\Mclogs\Config\ConfigKey;
|
||||
use Aternos\Mclogs\Frontend\FrontendRouter;
|
||||
use Aternos\Mclogs\Storage\MongoDBClient;
|
||||
use Aternos\Mclogs\Util\URL;
|
||||
|
||||
require_once __DIR__ . '/vendor/autoload.php';
|
||||
|
||||
try {
|
||||
MongoDBClient::getInstance()->ensureIndexes();
|
||||
} catch (Exception $e) {
|
||||
error_log("Failed to ensure MongoDB indexes: " . $e->getMessage());
|
||||
}
|
||||
|
||||
$requestCount = 0;
|
||||
$maxRequests = Config::getInstance()->get(ConfigKey::WORKER_REQUESTS);
|
||||
|
||||
do {
|
||||
$running = \frankenphp_handle_request(function () {
|
||||
|
||||
MongoDBClient::getInstance()->reset();
|
||||
URL::clear();
|
||||
|
||||
if (URL::isApi()) {
|
||||
ApiRouter::getInstance()->run();
|
||||
} else {
|
||||
FrontendRouter::getInstance()->run();
|
||||
}
|
||||
});
|
||||
|
||||
gc_collect_cycles();
|
||||
|
||||
$requestCount++;
|
||||
} while ($running && $requestCount < $maxRequests);
|
||||
Reference in New Issue
Block a user