class AmazonApiRateLimiter { /** * Minimalna przerwa między zapytaniami (sekundy). */ const INTERVAL_SECONDS = 2; /** * Nazwa pliku blokady w katalogu log/. */ const LOCK_FILENAME = 'amazon_api_rate.lock'; /** * @var string Pełna ścieżka do pliku blokady */ private $lockFilePath; /** * @var bool Tryb debug */ private $debug; public function __construct($debug = false) { $this->debug = $debug; $this->lockFilePath = MT_ROOT . '/../log/' . self::LOCK_FILENAME; } /** * Czeka, jeśli ostatnie zapytanie było wykonane wcześniej niż INTERVAL_SECONDS temu. * * Musi być wywołane bezpośrednio przed każdym zapytaniem do Amazon API. * Blokuje inne procesy (flock LOCK_EX) na czas weryfikacji i ewentualnego czekania, * dzięki czemu kolejka zapytań jest respektowana globalnie. * * @return void */ public function wait() { $fh = fopen($this->lockFilePath, 'c+'); if ($fh === false) { $this->debug('[DEBUG AmazonApiRateLimiter] Nie można otworzyć pliku blokady: ' . $this->lockFilePath); return; } // Zablokuj - inne procesy czekają tutaj flock($fh, LOCK_EX); // Odczytaj czas ostatniego wywołania API rewind($fh); $content = fread($fh, 32); $lastCall = (float)$content; $now = microtime(true); $elapsed = $now - $lastCall; $waitTime = self::INTERVAL_SECONDS - $elapsed; if ($waitTime > 0) { $waitMicroseconds = (int)($waitTime * 1000000); $this->debug('[DEBUG AmazonApiRateLimiter] Rate limit: czekam ' . round($waitTime, 3) . 's przed zapytaniem do API.'); usleep($waitMicroseconds); } // Zapisz aktualny timestamp jako czas ostatniego wywołania ftruncate($fh, 0); rewind($fh); fwrite($fh, microtime(true)); fflush($fh); // Zwolnij blokadę - następny proces może wejść flock($fh, LOCK_UN); fclose($fh); } /** * Wypisuje komunikat diagnostyczny na stdout, jeśli tryb debug jest włączony. * * @param string $msg * @return void */ private function debug($msg) { if ($this->debug) { echo $msg . "\n"; } } } ?> ';
A D V E R T E N T I E

Visuele vergelijkingen zijn niet beschikbaar voor mobiele apparaten.

Porównanie wizualne Intex Cloud Scan FP

Je kunt maximaal vier modellen met elkaar vergelijken. Kies de merken en modellen van de mobielen die je wilt vergelijken en klik op "Vergelijk".

Om preciezer in kaart ter grootte van uw telefoon, selecteert u het vakje naast de diagonaal van het beeldscherm, uitgedrukt in inches.

Intex Cloud Scan FP
Intex Cloud Scan FP

73 mm x 146.4 mm x 9.65 mm
153.8 gram

Schermgrootte: 5"
De dichtheid van het scherm: 196 ppi