Example #1
0
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);
Example #2
0
    $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;