Compare commits
1
Commits
d1235f2e20
..
local
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0060f3eb8 |
@@ -34,7 +34,6 @@ class AcaiAPI
|
|||||||
// ── Cache flags (mirror CocoDB interface) ─────────────────────────
|
// ── Cache flags (mirror CocoDB interface) ─────────────────────────
|
||||||
public static $redis = null;
|
public static $redis = null;
|
||||||
public static $redis_expireTime = 0;
|
public static $redis_expireTime = 0;
|
||||||
public static $redis_no_disponible = false;
|
|
||||||
public static $force_load_cache = false;
|
public static $force_load_cache = false;
|
||||||
public static $force_redis = false;
|
public static $force_redis = false;
|
||||||
public static $force_redis_module = false; // consumed by external cache layer
|
public static $force_redis_module = false; // consumed by external cache layer
|
||||||
@@ -648,29 +647,14 @@ class AcaiAPI
|
|||||||
/** Connect to Redis (idempotent). */
|
/** Connect to Redis (idempotent). */
|
||||||
static function initCache()
|
static function initCache()
|
||||||
{
|
{
|
||||||
// Sin Redis (hosting propio sin el servicio o sin la extensión, o el
|
|
||||||
// servicio caído) la web sigue SIN caché en vez de morir con un fatal:
|
|
||||||
// cacheGet/cacheSet ya no hacen nada si no hay conexión. Se marca para
|
|
||||||
// no reintentar en cada consulta de la misma petición.
|
|
||||||
if (self::$redis_no_disponible) return;
|
|
||||||
if (!class_exists('Redis')) {
|
|
||||||
self::$redis_no_disponible = true;
|
|
||||||
self::$redis = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$redisHost = getenv('REDIS_HOST') ?: '127.0.0.1';
|
$redisHost = getenv('REDIS_HOST') ?: '127.0.0.1';
|
||||||
$redisPort = (int)(getenv('REDIS_PORT') ?: 6379);
|
$redisPort = (int)(getenv('REDIS_PORT') ?: 6379);
|
||||||
|
|
||||||
try {
|
if (!self::$redis) {
|
||||||
if (!self::$redis) self::$redis = new Redis();
|
self::$redis = new Redis();
|
||||||
if (!self::$redis->isConnected() && !self::$redis->connect($redisHost, $redisPort)) {
|
self::$redis->connect($redisHost, $redisPort);
|
||||||
throw new RuntimeException("no se pudo conectar a $redisHost:$redisPort");
|
} elseif (!self::$redis->isConnected()) {
|
||||||
}
|
self::$redis->connect($redisHost, $redisPort);
|
||||||
} catch (Throwable $e) {
|
|
||||||
self::$redis_no_disponible = true;
|
|
||||||
self::$redis = null;
|
|
||||||
error_log('[cache] Redis no disponible, se sigue sin caché: ' . $e->getMessage());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ class CocoDB
|
|||||||
public static $trackData = [];
|
public static $trackData = [];
|
||||||
public static $redis = null;
|
public static $redis = null;
|
||||||
public static $redis_expireTime = 0;
|
public static $redis_expireTime = 0;
|
||||||
public static $redis_no_disponible = false;
|
|
||||||
public static $force_load_cache = false;
|
public static $force_load_cache = false;
|
||||||
public static $force_redis = false;
|
public static $force_redis = false;
|
||||||
public static $force_redis_module = false;
|
public static $force_redis_module = false;
|
||||||
@@ -1177,29 +1176,14 @@ class CocoDB
|
|||||||
*/
|
*/
|
||||||
static function initCache()
|
static function initCache()
|
||||||
{
|
{
|
||||||
// Sin Redis (hosting propio sin el servicio o sin la extensión, o el
|
|
||||||
// servicio caído) la web sigue SIN caché en vez de morir con un fatal:
|
|
||||||
// cacheGet/cacheSet ya no hacen nada si no hay conexión. Se marca para
|
|
||||||
// no reintentar en cada consulta de la misma petición.
|
|
||||||
if (self::$redis_no_disponible) return;
|
|
||||||
if (!class_exists('Redis')) {
|
|
||||||
self::$redis_no_disponible = true;
|
|
||||||
self::$redis = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$redisHost = getenv('REDIS_HOST') ?: '127.0.0.1';
|
$redisHost = getenv('REDIS_HOST') ?: '127.0.0.1';
|
||||||
$redisPort = (int)(getenv('REDIS_PORT') ?: 6379);
|
$redisPort = (int)(getenv('REDIS_PORT') ?: 6379);
|
||||||
|
|
||||||
try {
|
if (!self::$redis) {
|
||||||
if (!self::$redis) self::$redis = new Redis();
|
self::$redis = new Redis();
|
||||||
if (!self::$redis->isConnected() && !self::$redis->connect($redisHost, $redisPort)) {
|
self::$redis->connect($redisHost, $redisPort);
|
||||||
throw new RuntimeException("no se pudo conectar a $redisHost:$redisPort");
|
} else if (!self::$redis->isConnected()) {
|
||||||
}
|
self::$redis->connect($redisHost, $redisPort);
|
||||||
} catch (Throwable $e) {
|
|
||||||
self::$redis_no_disponible = true;
|
|
||||||
self::$redis = null;
|
|
||||||
error_log('[cache] Redis no disponible, se sigue sin caché: ' . $e->getMessage());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user