fix: lease monitor tasks by account identity
Desktop Client Build / Resolve Build Metadata (push) Failing after 5s
Desktop Client Build / Build Desktop Client (push) Has been skipped
Desktop Client Build / Publish Client Artifacts to NAS (push) Has been skipped
Backend CI / Backend (push) Successful in 14m44s

This commit is contained in:
2026-06-22 22:37:16 +08:00
parent 082f91a6a9
commit dcbab28e69
4 changed files with 302 additions and 96 deletions
@@ -0,0 +1,5 @@
DROP INDEX CONCURRENTLY IF EXISTS idx_platform_accounts_monitor_identity_uid;
DROP INDEX CONCURRENTLY IF EXISTS idx_platform_accounts_monitor_identity_fingerprint;
DROP INDEX CONCURRENTLY IF EXISTS idx_desktop_tasks_monitor_active_client_platform;
DROP INDEX CONCURRENTLY IF EXISTS idx_desktop_tasks_monitor_active_platform_account;
DROP INDEX CONCURRENTLY IF EXISTS idx_desktop_tasks_monitor_queue_account_order;
@@ -0,0 +1,62 @@
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_desktop_tasks_monitor_queue_account_order
ON desktop_tasks (
tenant_id,
workspace_id,
target_account_id,
platform_id,
lane_weight DESC,
priority DESC,
enqueued_at ASC,
created_at ASC,
desktop_id ASC
)
WHERE kind = 'monitor'
AND status = 'queued';
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_desktop_tasks_monitor_active_platform_account
ON desktop_tasks (
tenant_id,
workspace_id,
platform_id,
status,
target_account_id,
updated_at DESC
)
WHERE kind = 'monitor'
AND status IN ('in_progress', 'succeeded', 'failed', 'unknown', 'aborted');
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_desktop_tasks_monitor_active_client_platform
ON desktop_tasks (
tenant_id,
workspace_id,
target_client_id,
platform_id,
status,
desktop_id
)
WHERE kind = 'monitor'
AND status = 'in_progress';
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_platform_accounts_monitor_identity_fingerprint
ON platform_accounts (
tenant_id,
workspace_id,
user_id,
platform_id,
account_fingerprint
)
WHERE deleted_at IS NULL
AND delete_requested_at IS NULL
AND btrim(COALESCE(account_fingerprint, '')) <> '';
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_platform_accounts_monitor_identity_uid
ON platform_accounts (
tenant_id,
workspace_id,
user_id,
platform_id,
platform_uid
)
WHERE deleted_at IS NULL
AND delete_requested_at IS NULL
AND btrim(COALESCE(platform_uid, '')) <> '';