Files
michaelschiemer/resources/js/modules/cache-manager/CacheStrategy.js
Michael Schiemer 36ef2a1e2c
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
fix: Gitea Traefik routing and connection pool optimization
- Remove middleware reference from Gitea Traefik labels (caused routing issues)
- Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s)
- Add explicit service reference in Traefik labels
- Fix intermittent 504 timeouts by improving PostgreSQL connection handling

Fixes Gitea unreachability via git.michaelschiemer.de
2025-11-09 14:46:15 +01:00

54 lines
1.3 KiB
JavaScript

/**
* Cache Strategy Definitions
*
* Defines different caching strategies for the CacheManager.
*/
export const CacheStrategy = {
/**
* No caching - always fetch from source
*/
NO_CACHE: 'no-cache',
/**
* Cache first - use cache if available, otherwise fetch
*/
CACHE_FIRST: 'cache-first',
/**
* Network first - try network first, fallback to cache
*/
NETWORK_FIRST: 'network-first',
/**
* Stale while revalidate - return cache immediately, update in background
*/
STALE_WHILE_REVALIDATE: 'stale-while-revalidate',
/**
* Network only - always fetch from network, never use cache
*/
NETWORK_ONLY: 'network-only',
/**
* Cache only - only use cache, never fetch from network
*/
CACHE_ONLY: 'cache-only'
};
/**
* Get default strategy for a use case
*/
export function getStrategyForUseCase(useCase) {
const strategies = {
'api-response': CacheStrategy.STALE_WHILE_REVALIDATE,
'user-data': CacheStrategy.CACHE_FIRST,
'real-time': CacheStrategy.NETWORK_ONLY,
'static-content': CacheStrategy.CACHE_ONLY,
'computed-value': CacheStrategy.CACHE_FIRST
};
return strategies[useCase] || CacheStrategy.STALE_WHILE_REVALIDATE;
}