32 lines
1.6 KiB
SQL
32 lines
1.6 KiB
SQL
-- broker_queueinstance table
|
|
-- Tracks active and historical broker queue instances
|
|
|
|
CREATE TABLE IF NOT EXISTS broker_queueinstance (
|
|
id_broker_queueinstance BIGSERIAL PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
hostname VARCHAR(255) NOT NULL,
|
|
pid INTEGER NOT NULL,
|
|
version VARCHAR(50) NOT NULL,
|
|
status VARCHAR(20) NOT NULL DEFAULT 'active',
|
|
started_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
|
last_ping_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
|
shutdown_at TIMESTAMP WITH TIME ZONE,
|
|
queue_count INTEGER NOT NULL DEFAULT 0,
|
|
jobs_handled BIGINT NOT NULL DEFAULT 0,
|
|
|
|
CONSTRAINT broker_queueinstance_status_check CHECK (status IN ('active', 'inactive', 'shutdown'))
|
|
);
|
|
|
|
-- Indexes
|
|
CREATE INDEX IF NOT EXISTS idx_broker_queueinstance_status ON broker_queueinstance(status);
|
|
CREATE INDEX IF NOT EXISTS idx_broker_queueinstance_hostname ON broker_queueinstance(hostname);
|
|
CREATE INDEX IF NOT EXISTS idx_broker_queueinstance_last_ping ON broker_queueinstance(last_ping_at);
|
|
|
|
-- Comments
|
|
COMMENT ON TABLE broker_queueinstance IS 'Tracks broker queue instances (active and historical)';
|
|
COMMENT ON COLUMN broker_queueinstance.name IS 'Human-readable name of the broker instance';
|
|
COMMENT ON COLUMN broker_queueinstance.hostname IS 'Hostname where the broker is running';
|
|
COMMENT ON COLUMN broker_queueinstance.pid IS 'Process ID of the broker';
|
|
COMMENT ON COLUMN broker_queueinstance.status IS 'Current status: active, inactive, or shutdown';
|
|
COMMENT ON COLUMN broker_queueinstance.jobs_handled IS 'Total number of jobs handled by this instance';
|