Skip to content

Cloudflare Workers Limitations (ZinTrust)

This document captures Cloudflare Workers constraints relevant to ZinTrust adapters.

Network limitations

  • No private IPs: 10.x, 172.16–31.x, 192.168.x are blocked.
  • Cloudflare IPs blocked: cannot connect back to Cloudflare-owned IPs.
  • Port 25 blocked: use 587 (STARTTLS) or 465 (TLS).
  • Socket limits: concurrent sockets per request are limited.

Runtime limitations

  • No filesystem: use R2 or KV.
  • No process signals: perform lifecycle coordination via app-level control endpoints or external orchestrators.
  • Global scope restrictions: sockets must be created in request handlers.

BullMQ / Queue Workers

BullMQ Workers (job consumers) cannot run in Cloudflare Workers runtime due to:

  • Required persistent TCP connections
  • Background event loops
  • Global scope socket requirements

Solution: Run BullMQ Workers in containers (Producer-Consumer Split). Cloudflare Workers can still enqueue jobs via Queue.add().

Operational guidance

  • Use Hyperdrive or an external proxy for pooling if needed.
  • Use public endpoints or Cloudflare Tunnel for database access.

Released under the MIT License.