Jobs, Mail & Storage
Bloom Server provides integrated infrastructure modules for asynchronous background job execution (bloom_jobs), transactional multi-backend email sending (bloom_mail), and swappable local/S3 cloud file storage (bloom_storage).
Background Jobs with bloom_jobs
bloom_jobs provides an asynchronous task queue and worker architecture modeled on djangors-tasks:
BloomTaskRegistry— Named task handler registry.BloomTaskQueue— In-memory FIFO queue with atomicclaimNext()synchronization locks.BloomRecurringRegistry— Periodic scheduled interval triggers.BloomJobWorker— Polling worker loop with single-pass and continuous execution modes.
Transactional Email with bloom_mail
bloom_mail provides a standardized BloomMailMessage model and swappable delivery backends:
BloomSmtpBackend
Real SMTP delivery with explicit STARTTLS or implicit SSL/TLS encryption.
BloomConsoleBackend
Formatted stdout logger for local rapid prototyping without credential leaks.
BloomFileBackend
Writes timestamped .eml files to disk for offline inspection.
BloomInMemoryBackend
Records sent messages in memory for unit test assertions.
File Storage & S3 with bloom_storage
bloom_storage decouples your application from storage vendors. Switch between local disk and AWS S3, Cloudflare R2, MinIO, or Supabase Storage without modifying application code: