feat: expand scheduling, notifications, and queue runtime

- add scheduled task plumbing across backend core, CLI, and frontend surfaces

- add frontend notification UI and keep service pages using the repaired shared stylesheet

- refactor code queue runtime and update baidu netdisk/service integration docs
This commit is contained in:
Codex
2026-05-13 08:43:43 +00:00
parent 6a04144d3f
commit a242e3e3ec
45 changed files with 10421 additions and 6494 deletions
+8 -2
View File
@@ -14,6 +14,8 @@ services:
- "-c"
- "config_file=/etc/postgresql/postgresql.conf"
- "-c"
- "hba_file=/etc/postgresql/pg_hba.conf"
- "-c"
- "logging_collector=on"
- "-c"
- "log_directory=/var/log/unidesk/${UNIDESK_LOG_DAY}"
@@ -27,6 +29,7 @@ services:
- unidesk_pgdata_10gb:/var/lib/postgresql/data
- ./src/components/database/init:/docker-entrypoint-initdb.d:ro
- ./src/components/database/config/postgresql.conf:/etc/postgresql/postgresql.conf:ro
- ./src/components/database/config/pg_hba.conf:/etc/postgresql/pg_hba.conf:ro
- ${UNIDESK_LOG_DIR}:/var/log/unidesk
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${UNIDESK_DATABASE_USER} -d ${UNIDESK_DATABASE_NAME}"]
@@ -55,11 +58,14 @@ services:
TASK_PENDING_TIMEOUT_MS: "${UNIDESK_TASK_PENDING_TIMEOUT_MS:-600000}"
DATABASE_VOLUME_NAME: "${UNIDESK_DATABASE_VOLUME}"
DATABASE_VOLUME_SIZE: "${UNIDESK_DATABASE_VOLUME_SIZE}"
PGDATA_BACKUP_STAGING_DIR: "/data/baidu-netdisk-staging"
BAIDU_NETDISK_INTERNAL_URL: "http://baidu-netdisk:4244"
MICROSERVICES_JSON: "${UNIDESK_MICROSERVICES_JSON:-[]}"
LOG_FILE: "/var/log/unidesk/${UNIDESK_LOG_DAY}/${UNIDESK_LOG_PREFIX}_backend-core.jsonl"
UNIDESK_LOG_RETENTION_BYTES: "${UNIDESK_LOG_RETENTION_BYTES:-1GiB}"
volumes:
- ${UNIDESK_LOG_DIR}:/var/log/unidesk
- ./.state/baidu-netdisk/staging:/data/baidu-netdisk-staging
healthcheck:
test: ["CMD", "bun", "-e", "fetch('http://127.0.0.1:8080/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
interval: 5s
@@ -129,7 +135,7 @@ services:
CODE_QUEUE_SANDBOX: "danger-full-access"
CODE_QUEUE_APPROVAL_POLICY: "never"
CODE_QUEUE_MAX_ATTEMPTS: "99"
CODE_QUEUE_MAX_ACTIVE_QUEUES: "${UNIDESK_CODE_QUEUE_MAX_ACTIVE_QUEUES:-1}"
CODE_QUEUE_MAX_ACTIVE_QUEUES: "${UNIDESK_CODE_QUEUE_MAX_ACTIVE_QUEUES:-0}"
NODE_OPTIONS: "${UNIDESK_CODE_QUEUE_NODE_OPTIONS:---max-old-space-size=768}"
CODE_QUEUE_IN_MEMORY_OUTPUT_RECORDS: "${UNIDESK_CODE_QUEUE_IN_MEMORY_OUTPUT_RECORDS:-10}"
CODE_QUEUE_IN_MEMORY_EVENT_RECORDS: "${UNIDESK_CODE_QUEUE_IN_MEMORY_EVENT_RECORDS:-10}"
@@ -217,7 +223,7 @@ services:
BAIDU_NETDISK_CLIENT_ID: "${UNIDESK_BAIDU_NETDISK_CLIENT_ID:-}"
BAIDU_NETDISK_CLIENT_SECRET: "${UNIDESK_BAIDU_NETDISK_CLIENT_SECRET:-}"
BAIDU_NETDISK_TOKEN_KEY: "${UNIDESK_BAIDU_NETDISK_TOKEN_KEY:-}"
BAIDU_NETDISK_APP_ROOT: "${UNIDESK_BAIDU_NETDISK_APP_ROOT:-/apps/UniDeskBaiduNetdisk}"
BAIDU_NETDISK_APP_ROOT: "${UNIDESK_BAIDU_NETDISK_APP_ROOT:-/}"
BAIDU_NETDISK_STAGING_DIR: "/data/staging"
LOG_FILE: "/var/log/unidesk/${UNIDESK_LOG_DAY}/${UNIDESK_LOG_PREFIX}_baidu-netdisk.jsonl"
UNIDESK_LOG_RETENTION_BYTES: "${UNIDESK_LOG_RETENTION_BYTES:-1GiB}"