Skip to main content
Version: Latest

Shumoul Background Jobs Framework — Developer Guide

The Shumoul Background Jobs Framework gives every part of the platform a reliable way to schedule and run background work — recurring jobs, tenant-aware execution, distributed locking, and consistent failure handling — without each feature having to solve those problems on its own.

Who it's for: Backend Developers · Platform Engineers · QA Engineers · Technical Partners · Future Internal Developers extending or consuming the framework from a new host.

FieldValue
StatusProduction Ready
VersionLatest
Last Updated2026-07-04
Maintained ByShumoul Engineering
DocumentationOfficial Developer Guide
Source of TruthShumoul Platform Source Code

This guide is written directly against the platform's shipped source and kept in sync with it — see Chapter 1 — Overview for how it fits alongside the Notification Framework, and Chapter 20 — Appendix § Verification Notes for a small number of documented, non-blocking discrepancies found while writing it.

Relationship to the Notification Framework

The Background Jobs Framework and the Notification Framework are architectural siblings, not layers of one another: no package-level dependency exists in either direction. Where they meet is at the ERP host — every recurring job that used to belong to the Notification Framework's own Hangfire registrations (retry processor, retry expire, dead-letter cleanup, campaign scheduler, campaign workflow executor, campaign cleanup) now triggers through a Background Jobs Framework pipeline, which calls into an ERP-owned adapter, which calls the same, unchanged Notification Framework business service it always called. See Chapter 14 — Job Migration Guide.

Table of Contents

#SectionFile
1Overview01-overview.md
2Architecture02-architecture.md
3Packages03-packages.md
4Runtime Pipeline04-runtime-pipeline.md
5Execution Flow05-execution-flow.md
6Runtime Services06-runtime-services.md
7Adapters07-adapters.md
8Tenant Context08-tenant-context.md
9Distributed Lock09-distributed-lock.md
10Scheduler10-scheduler.md
11Execution Context11-execution-context.md
12Public API12-public-api.md
13Host Integration13-host-integration.md
14Job Migration Guide14-job-migration-guide.md
15Architecture Decisions15-architecture-decisions.md
16Testing16-testing.md
17Performance17-performance.md
18Troubleshooting18-troubleshooting.md
19FAQ19-faq.md
20Appendix20-appendix.md