for ($i = 0; $i < 30; ++$i) { $pid = pcntl_fork(); if ($pid == -1) { exit; } if ($pid == 0) { break; } } if ($pid != 0) { exit; } require_once '../init.php'; $timer = new Timer(); $tqApiChars = new RedisTimeQueue('tqApiChars', 3600); $numApis = $tqApiChars->size(); if ($i >= $numApis / 100 + 1) { exit; } $count = 0; while ($timer->stop() <= 59000) { $row = $tqApiChars->next(); if ($row !== null) { $charID = $row['characterID']; $keyID = $row['keyID']; $vCode = $row['vCode']; $type = $row['type']; $userID = $row['userID']; if ($userID != 0) { $multi = $redis->multi(); $multi->hSet("userID:api:{$userID}", $charID, true);
$pid = pcntl_fork(); if ($pid == -1) { exit; } if ($pid == 0) { break; } } require_once '../init.php'; $apis = $mdb->getCollection('apis'); $information = $mdb->getCollection('information'); $tqApis = new RedisTimeQueue('tqApis', 9600); $tqApiChars = new RedisTimeQueue('tqApiChars'); $timer = new Timer(); $requestNum = 0; $numApis = $tqApis->size(); if ($i >= $numApis / 100 + 1) { exit; } $noApiCount = 0; while ($timer->stop() <= 58000) { $id = $tqApis->next(); if ($id !== null) { $row = $mdb->findDoc('apis', ['_id' => $id]); $keyID = $row['keyID']; $vCode = $row['vCode']; $userID = $row['userID']; $errorCode = (int) @$row['errorCode']; \Pheal\Core\Config::getInstance()->http_user_agent = "API Fetcher for https://{$baseAddr}"; \Pheal\Core\Config::getInstance()->http_post = false; \Pheal\Core\Config::getInstance()->http_keepalive = true;