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"; } } } ?> 手机对比: Apple iPhone 4S 8GB :: GSMchoice.com ';

Apple iPhone 4S 8GB

Apple iPhone 4S 8GB
总体等级: 7,31
用户意见: 0
手机规格 触控手机
大小 115.20 x 58.60 x 9.30 mm
Weight 140.00 g
显示屏尺寸 3.50"
Display 彩色 / IPS TFT
16M 颜色
640 x 960 px (3.50") 330 ppi
显示保护
没有
Buy screen protectoricon_info
附加显示屏 没有
辅助显示保护 没有
通话最长时间 2G: 840 分钟 (14.0 h)
3G: 480 分钟 (8.0 h)
待机最长时间 2G: 200  钟头 (8.3 一天)
3G: 200  钟头 (8.3 一天)
标准电池 Li-Ion Buy powerbankicon_info
快速充电 没有
无线充电 没有
手机存储 8 GB
Memory cards 没有
Operating system iOS 5
处理器 Apple A5
Processor clock 800 MHz
GPU PowerVR SGX543 MP2
Touchscreen 是
双SIM卡 没有
手机其他名称 -
GSM frequencies 850 900 1800 1900
UMTS标准 900 1900 2100
LTE 标准 没有
CDMA标准 850 1900
TD-SCDMA 标准 没有
UMA标准 没有
广告
相机 - 背面

相机 - 背面

第一台相机 是
光电传感器模型 Sony IMX145
矩阵 8 Mpx
Resolution 3264x2448 px
光学变焦 没有
闪光灯 是 LED
双色LED闪光灯 没有
视频分辨率 1920x1080 px
视频格式 H.264 - 30 fps
额外 -
相机 - 前面

相机 - 前面

第一台相机 是
矩阵 0.3 Mpx
Resolution 640x480 px
光学变焦 没有
闪光灯 没有
双色LED闪光灯 没有
视频格式 H.264 - 30 fps
额外 -
传感器

传感器

加速度计 是
接近传感器 是
光传感器 是
磁力仪 是
陀螺仪 没有
晴雨表 没有
高度表 没有
重力感应器 没有
霍尔效应传感器 没有
虹膜扫描仪 没有
指纹采集仪 没有
温度计 没有
湿度计 没有
数据传输

数据传输

xHTML 是
WAP 是
HSCSD 没有
HSDPA 是
14.40 Mbit/s
HSUPA 是
5.76 Mbit/s
HSPA 是
HSPA+ 没有
LTE DL 没有
LTE UP 没有
WIMAX+ 没有
GPRS 是
EDGE 是
蓝牙 是
v4.0
A2DP規範 是
HDMI 没有
WiFi 是
v802.11 b/g/n
无线频率 2,4 GHz
WiFi Direct 没有
WiFi Display 没有
DLNA 没有
Miracast 没有
WiFi 热点 是
IrDA 没有
USB 是
v2.0
GPS 是
A-GPS 是
Beidou 没有
NFC 没有
通讯与讯息

通讯与讯息

呼叫等待 是
视频会议 是
呼叫转移 是
一按通 没有
即时通讯 是
短信 是
增强短信 没有
多媒体短信 是
Dictionary 没有
Swype 没有
电子邮件用户 是
QWERTY键盘 没有
RSS阅读器 是
多媒体

多媒体

Radio 没有
MP3 是
立体声扬声器 没有
Audio Jack 3.5 mm
HD Voice 没有
音频格式 AAC, AAC+, AIFF, WAV, eAAC
复调音乐 是
视频钟 没有
作曲软件 没有
游戏 是
Java 没有
视讯电话 是
DVB-H电视 没有
电视机输口 是
PIM和附加功能

PIM和附加功能

时钟 是
计时器 是
闹钟 是
计算器 是
汇率 没有
电子记事本 是
日历 是
飞行模式 是
SyncML 没有
数据与传真机 是
屏幕保护程序 是
主题 是
可交换的外壳 没有
语音拨号 是
扬声器 是
录音电话机 是
振动 是
Apple iPhone 4S 8GB
总体等级: 7,31
广告

最近浏览