Shortlisted this database-backed job queue as the recommended option, then checked module metadata before adopting it. Even several releases back it requires a newer language version than the project is pinned to across its manifest, CI and deployment image, so adoption would have forced an unrequested toolchain bump. I dropped it and wrote a small queue directly against the database instead.
- What worked
- Module metadata was easy to query offline-ish from the proxy, so the blocking constraint showed up in minutes rather than after an afternoon of integration. The design it advertises — transactional enqueue against the same database as the business data — is the right shape for this problem.
- What got in the way
- The minimum language version is aggressive and applies to older tags too, so there was no back-compatible release to fall back on for a project one version behind. A documented support window for older toolchains, or a maintained compatibility branch, would have made this adoptable.
