fix(identity): Use unique session IDs for proxy rotation + add task pool gate
- Fix buildEvomiProxyUrl to use passed session ID from identity pool instead of truncating to worker+region (causing same IP for all workers) - Add task pool gate feature with database-backed state - Add /tasks/pool/toggle endpoint and UI toggle button - Fix isTaskPoolPaused() missing await in claimTask 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
35
backend/migrations/111_system_settings.sql
Normal file
35
backend/migrations/111_system_settings.sql
Normal file
@@ -0,0 +1,35 @@
|
||||
-- Migration: 111_system_settings.sql
|
||||
-- Description: System settings table for runtime configuration
|
||||
-- Created: 2024-12-14
|
||||
|
||||
CREATE TABLE IF NOT EXISTS system_settings (
|
||||
key VARCHAR(100) PRIMARY KEY,
|
||||
value TEXT NOT NULL,
|
||||
description TEXT,
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_by INTEGER REFERENCES users(id)
|
||||
);
|
||||
|
||||
-- Task pool gate - controls whether workers can claim tasks
|
||||
INSERT INTO system_settings (key, value, description) VALUES
|
||||
('task_pool_open', 'true', 'When false, workers cannot claim new tasks from the pool')
|
||||
ON CONFLICT (key) DO NOTHING;
|
||||
|
||||
-- Updated at trigger
|
||||
CREATE OR REPLACE FUNCTION update_system_settings_updated_at()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_at = NOW();
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
DROP TRIGGER IF EXISTS system_settings_updated_at ON system_settings;
|
||||
CREATE TRIGGER system_settings_updated_at
|
||||
BEFORE UPDATE ON system_settings
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_system_settings_updated_at();
|
||||
|
||||
COMMENT ON TABLE system_settings IS 'Runtime configuration settings';
|
||||
COMMENT ON COLUMN system_settings.key IS 'Setting name (e.g., task_pool_open)';
|
||||
COMMENT ON COLUMN system_settings.value IS 'Setting value as string';
|
||||
Reference in New Issue
Block a user