forked from wangziqi/gongxue-base
125 lines
4.9 KiB
Plaintext
125 lines
4.9 KiB
Plaintext
# Copy to /etc/tiku-saas/worker.env and chmod 600.
|
|
# This file is read by every worker systemd unit. Do not commit the real file.
|
|
|
|
NODE_ENV=production
|
|
DATABASE_URL=postgresql://tiku_worker:replace-with-password@127.0.0.1:5432/postgres
|
|
DB_EXPECTED_RUNTIME_ROLE=tiku_worker
|
|
# There are nine continuous worker processes; budget total PostgreSQL connections accordingly.
|
|
DB_POOL_MAX=5
|
|
DB_CONNECTION_TIMEOUT_MS=5000
|
|
DB_QUERY_TIMEOUT_MS=35000
|
|
DB_STATEMENT_TIMEOUT_MS=30000
|
|
DB_LOCK_TIMEOUT_MS=5000
|
|
DB_IDLE_IN_TRANSACTION_TIMEOUT_MS=30000
|
|
DB_IDLE_TIMEOUT_MS=30000
|
|
DB_POOL_MAX_USES=7500
|
|
DB_POOL_MAX_LIFETIME_SECONDS=1800
|
|
DB_APPLICATION_NAME=tiku-worker
|
|
|
|
# Object storage settings read by apps/worker/src/config.ts.
|
|
STORAGE_DEFAULT_PROVIDER=aliyun_oss
|
|
STORAGE_DEFAULT_BUCKET=replace-with-bucket
|
|
STORAGE_PUBLIC_BASE_URL=https://replace-with-public-assets.example.com
|
|
STORAGE_MAX_UPLOAD_BYTES=524288000
|
|
STORAGE_ALLOWED_MIME_PREFIXES=image/,video/,audio/
|
|
STORAGE_ALLOWED_MIME_TYPES=application/pdf,application/json,application/zip,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/plain,text/markdown,text/csv
|
|
STORAGE_REQUIRE_TENANT_PREFIX=true
|
|
|
|
ALIYUN_OSS_REGION=oss-cn-beijing
|
|
ALIYUN_OSS_ENDPOINT=https://oss-cn-beijing.aliyuncs.com
|
|
ALIYUN_OSS_ACCESS_KEY_ID=replace-with-access-key-id
|
|
ALIYUN_OSS_ACCESS_KEY_SECRET=replace-with-access-key-secret
|
|
ALIYUN_OSS_STS_TOKEN=
|
|
ALIYUN_OSS_INTERNAL=false
|
|
|
|
# Production asset scans are fail-closed and use the WORKER_* names below.
|
|
WORKER_ASSET_SECURITY_SCANNER=metadata_rules,http
|
|
WORKER_ASSET_SECURITY_SCAN_HTTP_ENDPOINT=https://replace-with-security-scanner.example.com/scan
|
|
WORKER_ASSET_SECURITY_SCAN_HTTP_TOKEN=replace-with-strong-scanner-token
|
|
WORKER_ASSET_SECURITY_SCAN_HTTP_TIMEOUT_MS=10000
|
|
WORKER_ASSET_SECURITY_SCAN_FAIL_OPEN=false
|
|
|
|
# Continuous queue consumers managed by tiku-worker@.service.
|
|
WORKER_CRM_BATCH_SIZE=20
|
|
WORKER_CRM_POLL_INTERVAL_MS=10000
|
|
WORKER_CRM_MAX_ATTEMPTS=5
|
|
WORKER_CRM_BACKOFF_SECONDS=5,30,120,600,1800
|
|
WORKER_CRM_REQUEST_TIMEOUT_MS=10000
|
|
WORKER_CRM_ALLOW_INSECURE_LOCALHOST=false
|
|
|
|
WORKER_COMMERCE_BATCH_SIZE=20
|
|
WORKER_COMMERCE_POLL_INTERVAL_MS=30000
|
|
WORKER_COMMERCE_MIN_AGE_SECONDS=300
|
|
WORKER_COMMERCE_REQUEST_TIMEOUT_MS=10000
|
|
|
|
WORKER_PROVIDER_BILL_BATCH_SIZE=5
|
|
WORKER_PROVIDER_BILL_POLL_INTERVAL_MS=60000
|
|
WORKER_PROVIDER_BILL_ID=provider-bills-prod-1
|
|
WORKER_PROVIDER_BILL_CLAIM_STALE_SECONDS=900
|
|
|
|
WORKER_PLATFORM_DUNNING_NOTIFICATION_BATCH_SIZE=50
|
|
WORKER_PLATFORM_DUNNING_NOTIFICATION_POLL_INTERVAL_MS=30000
|
|
WORKER_PLATFORM_DUNNING_NOTIFICATION_MAX_ATTEMPTS=5
|
|
WORKER_PLATFORM_DUNNING_NOTIFICATION_BACKOFF_SECONDS=10,60,300,900,1800
|
|
WORKER_PLATFORM_DUNNING_NOTIFICATION_REQUEST_TIMEOUT_MS=10000
|
|
WORKER_PLATFORM_DUNNING_NOTIFICATION_ALLOW_INSECURE_LOCALHOST=false
|
|
|
|
WORKER_PLATFORM_AUDIT_NOTIFICATION_BATCH_SIZE=50
|
|
WORKER_PLATFORM_AUDIT_NOTIFICATION_POLL_INTERVAL_MS=30000
|
|
WORKER_PLATFORM_AUDIT_NOTIFICATION_MAX_ATTEMPTS=5
|
|
WORKER_PLATFORM_AUDIT_NOTIFICATION_BACKOFF_SECONDS=10,60,300,900,1800
|
|
WORKER_PLATFORM_AUDIT_NOTIFICATION_REQUEST_TIMEOUT_MS=10000
|
|
WORKER_PLATFORM_AUDIT_NOTIFICATION_ALLOW_INSECURE_LOCALHOST=false
|
|
|
|
WORKER_ASSET_BATCH_SIZE=50
|
|
WORKER_ASSET_POLL_INTERVAL_MS=30000
|
|
WORKER_ASSET_MIN_AGE_SECONDS=300
|
|
WORKER_ASSET_RECHECK_INTERVAL_SECONDS=86400
|
|
WORKER_ASSET_REQUEST_TIMEOUT_MS=10000
|
|
|
|
WORKER_IMPORT_BATCH_SIZE=5
|
|
WORKER_IMPORT_POLL_INTERVAL_MS=10000
|
|
WORKER_IMPORT_ID=imports-prod-1
|
|
WORKER_IMPORT_LEASE_SECONDS=120
|
|
WORKER_IMPORT_HEARTBEAT_INTERVAL_MS=30000
|
|
WORKER_IMPORT_BACKOFF_SECONDS=30,120,600,1800
|
|
|
|
WORKER_PUBLIC_BANK_SYNC_BATCH_SIZE=5
|
|
WORKER_PUBLIC_BANK_SYNC_POLL_INTERVAL_MS=60000
|
|
WORKER_PUBLIC_BANK_SYNC_COPY_LIMIT=1000
|
|
WORKER_PUBLIC_BANK_SYNC_ID=public-banks-prod-1
|
|
WORKER_PUBLIC_BANK_SYNC_CLAIM_STALE_SECONDS=900
|
|
|
|
WORKER_EXPORT_BATCH_SIZE=5
|
|
WORKER_EXPORT_POLL_INTERVAL_MS=10000
|
|
WORKER_EXPORT_ID=exports-prod-1
|
|
WORKER_EXPORT_BACKOFF_SECONDS=30,120,600,1800
|
|
EXPORT_LOCAL_STORAGE_ROOT=/srv/tiku-saas/data/exports
|
|
EXPORT_PDF_FONT_PATH=
|
|
|
|
# Periodic jobs managed by tiku-worker-job@.service and timer units.
|
|
WORKER_PLATFORM_BILLING_BATCH_SIZE=50
|
|
WORKER_PLATFORM_BILLING_DAYS_AHEAD=45
|
|
WORKER_PLATFORM_BILLING_DUE_DAYS=15
|
|
WORKER_PLATFORM_BILLING_ID=platform-billing-prod-1
|
|
|
|
# Leave month overrides empty for normal timers. Use CLI --month for backfills.
|
|
WORKER_PLATFORM_USAGE_BATCH_SIZE=100
|
|
WORKER_PLATFORM_USAGE_ID=platform-usage-prod-1
|
|
WORKER_PLATFORM_USAGE_MONTH=
|
|
WORKER_PLATFORM_USAGE_OVERAGE_BATCH_SIZE=100
|
|
WORKER_PLATFORM_USAGE_OVERAGE_ID=platform-usage-overage-prod-1
|
|
WORKER_PLATFORM_USAGE_OVERAGE_MONTH=
|
|
WORKER_PLATFORM_USAGE_OVERAGE_DUE_DAYS=15
|
|
|
|
WORKER_PLATFORM_DUNNING_BATCH_SIZE=100
|
|
WORKER_PLATFORM_DUNNING_ID=platform-dunning-prod-1
|
|
|
|
WORKER_PLATFORM_AUDIT_ALERT_BATCH_SIZE=200
|
|
WORKER_PLATFORM_AUDIT_ALERT_ID=platform-audit-alerts-prod-1
|
|
WORKER_PLATFORM_AUDIT_ALERT_LOOKBACK_DAYS=14
|
|
|
|
WORKER_STUDENT_SUPERVISION_BATCH_SIZE=20
|
|
WORKER_STUDENT_SUPERVISION_ID=student-supervision-prod-1
|
|
WORKER_STUDENT_SUPERVISION_CLAIM_STALE_SECONDS=900
|