| @@ 75-96 (lines=22) @@ | ||
| 72 | * @param int $min |
|
| 73 | * @return array |
|
| 74 | */ |
|
| 75 | public function getTopDelays($limit = 100, $min = 0) |
|
| 76 | { |
|
| 77 | $query = $this->pdo->prepare(<<<SQL |
|
| 78 | SELECT |
|
| 79 | base, |
|
| 80 | userAgent, |
|
| 81 | delayUntil / 1000000, |
|
| 82 | lastDelay / 1000000 |
|
| 83 | FROM robotstxt__delay0 |
|
| 84 | WHERE lastDelay > (:minDelay * 1000000) |
|
| 85 | ORDER BY lastDelay DESC |
|
| 86 | LIMIT :maxCount; |
|
| 87 | SQL |
|
| 88 | ); |
|
| 89 | $query->bindParam(':minDelay', $min, PDO::PARAM_INT); |
|
| 90 | $query->bindParam(':maxCount', $limit, PDO::PARAM_INT); |
|
| 91 | $query->execute(); |
|
| 92 | if ($query->rowCount() > 0) { |
|
| 93 | return $query->fetchAll(PDO::FETCH_ASSOC); |
|
| 94 | } |
|
| 95 | return []; |
|
| 96 | } |
|
| 97 | ||
| 98 | /** |
|
| 99 | * Top X wait time |
|
| @@ 105-126 (lines=22) @@ | ||
| 102 | * @param int $min |
|
| 103 | * @return array |
|
| 104 | */ |
|
| 105 | public function getTopWaitTime($limit = 100, $min = 0) |
|
| 106 | { |
|
| 107 | $query = $this->pdo->prepare(<<<SQL |
|
| 108 | SELECT |
|
| 109 | base, |
|
| 110 | userAgent, |
|
| 111 | delayUntil / 1000000, |
|
| 112 | lastDelay / 1000000 |
|
| 113 | FROM robotstxt__delay0 |
|
| 114 | WHERE delayUntil > ((UNIX_TIMESTAMP(CURTIME(6)) + :minDelay) * 1000000) |
|
| 115 | ORDER BY delayUntil DESC |
|
| 116 | LIMIT :maxCount; |
|
| 117 | SQL |
|
| 118 | ); |
|
| 119 | $query->bindParam(':minDelay', $min, PDO::PARAM_INT); |
|
| 120 | $query->bindParam(':maxCount', $limit, PDO::PARAM_INT); |
|
| 121 | $query->execute(); |
|
| 122 | if ($query->rowCount() > 0) { |
|
| 123 | return $query->fetchAll(PDO::FETCH_ASSOC); |
|
| 124 | } |
|
| 125 | return []; |
|
| 126 | } |
|
| 127 | } |
|
| 128 | ||