<?php for ($i = 0; $i < 20; ++$i) { $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'); if ($pid != 0 && date('i') % 5 == 0) { $apis->update(['killID' => null], ['$set' => ['killID' => 0]], ['multiple' => true]); $apis->update(['errorCode' => null], ['$set' => ['errorCode' => 0]], ['multiple' => true]); $apis->update(['errorCode' => 28], ['$set' => ['errorCode' => 0]], ['multiple' => true]); $allApis = $mdb->find('apis'); foreach ($allApis as $api) { $keyID = $api['keyID']; $vCode = $api['vCode']; $userID = $api['userID']; $value = ['keyID' => $keyID, 'vCode' => $vCode, 'userID' => $userID]; $errorCode = (int) @$api['errorCode']; if (in_array($errorCode, [0, 18, 106, 503, 522, 901, 902, 904])) { $tqApis->add($value); } }
<?php require_once '../init.php'; $counter = 0; $information = $mdb->getCollection('information'); $queueCharacters = new RedisTimeQueue('tqCharacters', 86400); $timer = new Timer(); $counter = 0; while ($timer->stop() < 59000) { $ids = []; for ($i = 0; $i < 100; ++$i) { $id = $queueCharacters->next(false); if ($id != null) { $ids[] = $id; } } if (sizeof($ids) == 0) { exit; } $stringIDs = implode(',', $ids); $href = "https://api.eveonline.com/eve/CharacterAffiliation.xml.aspx?ids={$stringIDs}"; $raw = file_get_contents($href); if ($raw == '') { exit; } $xml = @simplexml_load_string($raw); foreach ($xml->result->rowset->row as $info) { $id = (int) $info['characterID']; $row = $mdb->findDoc('information', ['type' => 'characterID', 'id' => $id]); if (isset($info['characterName'])) { ++$counter;
<?php require_once '../init.php'; $timer = new Timer(); $queueWars = new RedisTimeQueue('tqWars', 9600); $minute = date('i'); if ($minute == 30) { $allWars = $mdb->getCollection('information')->find(['type' => 'warID'], ['id' => 1]); foreach ($allWars as $war) { if (@$war['finished'] == 1) { $queueWars->remove($war['id']); } else { $queueWars->add($war['id']); } } } $added = 0; while ($timer->stop() < 58000) { sleep(1); $id = $queueWars->next(); if ($id == null) { exit; } $warRow = $mdb->findDoc('information', ['type' => 'warID', 'id' => $id]); if (@$warRow['timeFinished'] != null) { $threeDays = date('Y-m-d', time() - 86400 * 3); $warFinished = substr($warRow['timeFinished'], 0, 10); if ($warFinished <= $threeDays) { $mdb->set('information', ['type' => 'warID', 'id' => $id], ['finished' => true]); continue; }
<?php require_once '../init.php'; $counter = 0; $information = $mdb->getCollection('information'); $queueCharacters = new RedisTimeQueue('tqCharacters', 86400); $timer = new Timer(); $counter = 0; $i = date('i'); if ($i == 15) { $characters = $information->find(['type' => 'characterID']); foreach ($characters as $char) { $queueCharacters->add($char['id']); } } while ($timer->stop() < 55000) { sleep(1); $ids = []; for ($i = 0; $i < 100; ++$i) { $id = $queueCharacters->next(false); if ($id != null) { $ids[] = $id; } } if (sizeof($ids) == 0) { exit; } $stringIDs = implode(',', $ids); $href = "https://api.eveonline.com/eve/CharacterAffiliation.xml.aspx?ids={$stringIDs}"; $raw = file_get_contents($href); if ($raw == '') {
<?php require_once '../init.php'; if (date('i') % 5 != 0) { exit; } $apis = $mdb->getCollection('apis'); $tqApis = new RedisTimeQueue('tqApis', 9600); $allApis = $mdb->find('apis'); foreach ($allApis as $api) { $errorCode = (int) @$api['errorCode']; if (in_array($errorCode, [106, 203, 220, 222, 404, 522])) { continue; } $tqApis->add($api['_id']); }
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();
<?php require_once '../init.php'; $counter = 0; $information = $mdb->getCollection('information'); $timer = new Timer(); $queueCorps = new RedisTimeQueue('tqCorporations', 86400); $i = date('i'); if ($i == 30) { $corps = $information->find(['type' => 'corporationID']); foreach ($corps as $corp) { $queueCorps->add($corp['id']); } } while ($timer->stop() < 55000) { sleep(1); $id = $queueCorps->next(false); if ($id == null) { continue; } $row = $mdb->findDoc('information', ['type' => 'corporationID', 'id' => (int) $id]); $updates = []; if (!isset($row['memberCount']) || isset($row['memberCount']) && $row['memberCount'] != 0) { $id = (int) $row['id']; $raw = @file_get_contents("https://api.eveonline.com/corp/CorporationSheet.xml.aspx?corporationID={$id}"); if ($raw != '') { ++$counter; $xml = @simplexml_load_string($raw); if ($xml != null) { $corpInfo = $xml->result; if (isset($corpInfo->ticker)) {
<?php require_once '../init.php'; $mdb = new Mdb(); $old = $mdb->now(3600 * 3); // 8 hours $timer = new Timer(); $queueAllis = new RedisTimeQueue('tqAlliances', 9600); $i = date('i'); if ($i == 45) { $allis = $mdb->find('information', ['type' => 'allianceID']); foreach ($allis as $alli) { $queueAllis->add($alli['id']); } } while ($timer->stop() <= 55000) { sleep(1); $id = (int) $queueAllis->next(false); if ($id == null) { exit; } $alliance = $mdb->findDoc('information', ['type' => 'allianceID', 'id' => $id]); $id = $alliance['id']; $name = $alliance['name']; $currentInfo = $mdb->findDoc('information', ['type' => 'alliance', 'id' => $id]); $alliCrest = CrestTools::getJSON("https://public-crest.eveonline.com/alliances/{$id}/"); if ($alliCrest == null || !isset($alliCrest['name'])) { $mdb->set('information', ['type' => 'alliance', 'id' => $id], ['lastApiUpdate' => $mdb->now()]); continue; } $update = [];
<?php require_once '../init.php'; $counter = 0; $information = $mdb->getCollection('information'); $queueCharacters = new RedisTimeQueue('tqCharacters', 86400); $timer = new Timer(); $counter = 0; $i = date('i'); if ($i == 15) { $characters = $information->find(['type' => 'characterID']); foreach ($characters as $char) { $queueCharacters->add($char['id']); } }