Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/CronArchive.php41
1 files changed, 38 insertions, 3 deletions
diff --git a/core/CronArchive.php b/core/CronArchive.php
index 1859e9fbba..5e1770c047 100644
--- a/core/CronArchive.php
+++ b/core/CronArchive.php
@@ -427,10 +427,10 @@ class CronArchive
if ($this->archiveAndRespectTTL) {
Option::clearCachedOption($this->lastRunKey($idSite, "periods"));
- $lastTimestampWebsiteProcessedPeriods = Option::get($this->lastRunKey($idSite, "periods"));
+ $lastTimestampWebsiteProcessedPeriods = $this->getPeriodLastProcessedTimestamp($idSite);
Option::clearCachedOption($this->lastRunKey($idSite, "day"));
- $lastTimestampWebsiteProcessedDay = Option::get($this->lastRunKey($idSite, "day"));
+ $lastTimestampWebsiteProcessedDay = $this->getDayLastProcessedTimestamp($idSite);
}
$this->updateIdSitesInvalidatedOldReports();
@@ -895,7 +895,7 @@ class CronArchive
{
$this->todayArchiveTimeToLive = Rules::getTodayArchiveTimeToLive();
$this->processPeriodsMaximumEverySeconds = $this->getDelayBetweenPeriodsArchives();
- $this->lastSuccessRunTimestamp = Option::get(self::OPTION_ARCHIVING_FINISHED_TS);
+ $this->lastSuccessRunTimestamp = $this->getLastSuccessRunTimestamp();
$this->shouldArchiveOnlySitesWithTrafficSince = $this->isShouldArchiveAllSitesWithTrafficSince();
$this->shouldArchiveOnlySpecificPeriods = $this->getPeriodsToProcess();
@@ -1386,4 +1386,39 @@ class CronArchive
return self::MAX_CONCURRENT_API_REQUESTS;
}
+
+ /**
+ * @param $idSite
+ * @return false|string
+ */
+ private function getPeriodLastProcessedTimestamp($idSite)
+ {
+ $timestamp = Option::get($this->lastRunKey($idSite, "periods"));
+ return $this->sanitiseTimestamp($timestamp);
+ }
+
+ /**
+ * @param $idSite
+ * @return false|string
+ */
+ private function getDayLastProcessedTimestamp($idSite)
+ {
+ $timestamp = Option::get($this->lastRunKey($idSite, "day"));
+ return $this->sanitiseTimestamp($timestamp);
+ }
+
+ /**
+ * @return false|string
+ */
+ private function getLastSuccessRunTimestamp()
+ {
+ $timestamp = Option::get(self::OPTION_ARCHIVING_FINISHED_TS);
+ return $this->sanitiseTimestamp($timestamp);
+ }
+
+ private function sanitiseTimestamp($timestamp)
+ {
+ $now = time();
+ return ($timestamp < $now) ? $timestamp : $now;
+ }
}