I built an async multi‑tenant YARA scanning pipeline called malware_testing that runs on a single Docker image orchestrated with Docker‑Compose.
The repository lives at a repo on @sarthaksingh17's GitHub.
The project started March 2026 and was last updated March 2026.
Core requirement: Sequential processing per tenant, parallel across tenants.
SET lock:tenant:{tenant_id} NX EX 300
worker_prefetch_multiplier = 1
task_acks_late = True
YARA rules are compiled once using Celery's worker_init signal and stored in memory for the lifetime of the worker process.
RabbitMQ persists messages to disk, preventing loss on broker restart.
One Dockerfile builds a shared image for both API + worker; docker‑compose.yml runs separate containers with different entrypoints.
Type Name # reqs # fails Avg Min Max req/s
POST /ingest 896 0(0.00%) 14 4 691 30.09