* feat: add 60-second cache for variables and resources with PostgreSQL invalidation - Add new var_resource_cache module with 60-second TTL - Implement PostgreSQL NOTIFY/LISTEN for immediate cache invalidation - Cache get_variable() for non-secret, non-encrypted reads - Cache get_resource_value() for all read operations - Add database triggers on variable/resource table changes - Initialize cache system in main.rs after database connection - Add Clone derive to ListableVariable for cache compatibility Performance benefits: - Avoids database queries on cache hits - Immediate invalidation ensures data consistency - Selective caching respects security constraints 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * refactor: move cache to API layer with allow_cache query param - Move variable/resource cache from windmill-common to windmill-api - Add allow_cache query parameter to variables and resources endpoints - Follow raw script cache pattern with timestamp + value structure - Create proper database migration for notification triggers - Include encrypted values in cache when appropriate - Only activate caching when explicitly requested Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com> * refactor: move cache to API layer with allow_cache query param Move PostgreSQL LISTEN logic to main.rs following established pattern - Remove custom listener initialization from cache module - Add cache invalidation channels to centralized notification handler - Simplified cache module to only handle cache operations - Follow raw script cache pattern for notification handling Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com> --------- Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com>
4 lines
233 B
SQL
4 lines
233 B
SQL
-- Add down migration script here
|
|
DROP TRIGGER IF EXISTS variable_cache_invalidate_trigger ON variable;
|
|
DROP TRIGGER IF EXISTS resource_cache_invalidate_trigger ON resource;
|
|
DROP FUNCTION IF EXISTS notify_var_resource_cache_change(); |