TMA CloudTMA Cloud
GuidesOperations

Background Workers

Background services and workers in TMA Cloud.

Background services and workers in TMA Cloud.

Overview

TMA Cloud uses background workers for asynchronous processing and maintenance tasks.

Workers

Audit Worker

Purpose: Process audit events asynchronously

Command:

npm run worker

Configuration:

  • AUDIT_WORKER_CONCURRENCY - Concurrent events processed
  • AUDIT_JOB_TTL_SECONDS - Job TTL

Important: Must run in production. Audit events queued but not written until processed.

Cleanup Services

Trash Cleanup

  • Automatic deletion after 15 days
  • Runs every 24 hours
  • Permanent file deletion from storage

Orphan Cleanup

  • Removes files without database records
  • Periodic scanning
  • Disk space recovery
  • Deletes expired share links (expires_at < NOW())
  • Sets shared = false on files that no longer have an active share link
  • Runs at startup and every 7 days
  • Invalidates related caches after cleanup

Running Workers

Production

# Terminal 1 - Main application
npm start

# Terminal 2 - Audit worker (required)
npm run worker

Docker

Workers run as separate containers:

docker compose up -d
# Starts app, worker, and redis

Monitoring Workers

Monitoring Audit Worker

  • Check logs for processing status
  • Monitor queue size
  • Verify events being written

Monitoring Cleanup Services

  • Check logs for cleanup operations
  • Monitor disk space
  • Verify cleanup schedules

Best Practices

  • Always run audit worker in production
  • Monitor worker health
  • Check logs regularly
  • Verify background tasks completing

On this page