private function _generatePrettyReport(TokenRange $currentRange, $now, $rangeStartTime, $rangeTotal, $rangeProcessed, $rangeErrors, $currentRate, $rangeSkipped, $totalSkipped, $totalDuration, $averageRate, $lastKey)
 {
     $t = new TextTable(new ReportTableDecorator());
     $t->appendSubHeading('Current Range ' . Shell::colourText("(" . $currentRange->id() . ")", Shell::COLOUR_FOREGROUND_LIGHT_GREY));
     $t->appendRows([['Start token', $currentRange->startToken], ['End token', $currentRange->endToken], ['First key', $currentRange->firstKey], ['Last key', $currentRange->lastKey]]);
     $t->appendSubHeading('Range statistics');
     $t->appendRows([['Processing time', DateTimeHelper::secondsToTime($now - $rangeStartTime)], ['Total items', number_format($rangeTotal)], ['Processed items', number_format($rangeProcessed)], ['Skipped', number_format($rangeSkipped)], ['Errors', number_format($rangeErrors)], ['Processing rate', number_format($currentRate) . ' items/second']]);
     $t->appendSubHeading('Total');
     $t->appendRows([['Processing time', DateTimeHelper::secondsToTime($totalDuration)], ['Total items', number_format($this->totalItems)], ['Processed items', number_format($this->processedItems)], ['Skipped', number_format($totalSkipped)], ['Errors', number_format($this->errors)], ['Processing rate', number_format($averageRate) . ' items/second']]);
     $t->appendSpacer();
     $t->appendRow(['Last key seen', $lastKey]);
     ob_start();
     echo $_REQUEST['__path__'] . "\n";
     echo $t;
     EventManager::trigger(Events::DISPLAY_REPORT_END);
     return ob_get_clean();
 }
示例#2
0
 /**
  * @param TokenRange[] $ranges
  */
 private function _insertMultipleRanges($ranges)
 {
     $db = TokenRange::conn();
     $tableName = (new TokenRange())->getTableName();
     $query = ParseQuery::parse($db, 'INSERT INTO %T (startToken, endToken, randomKey, createdAt, updatedAt) VALUES ', $tableName);
     $data = [];
     foreach ($ranges as $range) {
         $nowStr = DateTimeHelper::formattedDateFromAnything(time());
         $data[] = ParseQuery::parse($db, "(%s, %s, %d, %s, %s)", $range->startToken, $range->endToken, $range->randomKey, $nowStr, $nowStr);
     }
     $query .= implode(", ", $data);
     Log::debug($query);
     $db->query($query);
 }
示例#3
0
 private function _generatePrettyReport(BucketRange $currentRange, $now, $rangeStartTime, $rangeTotal, $rangeProcessed, $currentRate, $rangeSkipped, $totalSkipped, $totalDuration, $averageRate, $lastObject)
 {
     $t = new TextTable(new ReportTableDecorator());
     $t->appendSubHeading('Current Range ' . Shell::colourText("(" . $currentRange->id() . ")", Shell::COLOUR_FOREGROUND_LIGHT_GREY));
     $t->appendRow(['Prefix', $currentRange->prefix]);
     $t->appendSubHeading('Range statistics');
     $t->appendRows([['Processing time', DateTimeHelper::secondsToTime($now - $rangeStartTime)], ['Total items', number_format($rangeTotal)], ['Processed items', number_format($rangeProcessed)], ['Skipped', number_format($rangeSkipped)], ['Processing rate', number_format($currentRate) . ' items/second']]);
     $t->appendSubHeading('Total');
     $t->appendRows([['Processing time', DateTimeHelper::secondsToTime($totalDuration)], ['Total items', number_format($this->totalItems)], ['Processed items', number_format($this->processedItems)], ['Skipped', number_format($totalSkipped)], ['Processing rate', number_format($averageRate) . ' items/second']]);
     $t->appendSpacer();
     $t->appendRow(['Last object seen', $lastObject]);
     ob_start();
     EventManager::trigger(Events::DISPLAY_REPORT_START);
     echo $t;
     EventManager::trigger(Events::DISPLAY_REPORT_END);
     return ob_get_clean();
 }
示例#4
0
文件: Campaign.php 项目: qubes/defero
 public function nextRun($time = null)
 {
     if (!$this->sendAt) {
         return null;
     }
     if (!CronParser::isValid($this->sendAt)) {
         return DateTimeHelper::dateTimeFromAnything($this->sendAt);
     }
     if (is_int($time)) {
         $time = (new \DateTime())->setTimestamp($time);
     }
     $nr = CronParser::nextRun($this->sendAt, $time, true);
     return $nr ?: null;
 }