tourze/json-rpc-lock-bundle
A Symfony bundle that adds distributed locking to JSON-RPC services, helping coordinate concurrent requests and prevent duplicate processing across workers. Useful for protecting shared resources in PHP apps.
Cache::lock() / WithoutOverlapping middleware. This package only wins if you need method- or request-level lock semantics that are awkward to express with Laravel primitives.*-bundle naming strongly implies a Symfony bundle rather than a Laravel package. This supports deciding whether to evaluate a Laravel-native alternative or build an adapter instead of assuming drop-in compatibility.Consider it when:
1.0.1...2.0.0 changelog, confirm breaking changes, pin the version, and write integration tests around lock acquisition and failure.Look elsewhere when:
Cache::lock() and WithoutOverlapping already cover most needs with less surface area.SELECT ... FOR UPDATE.Executive summary: This is a small, targeted dependency for preventing duplicate or concurrent JSON-RPC operations — the kind of bug that causes double charges or inconsistent state. It is low-effort to pilot, but 2.0.0 is a major release with no published notes, so we should pin it, validate the changelog, and run it behind tests before committing. If it does not clearly beat Laravel’s built-in locks, we skip it.
Engineering summary: Evaluate it as a locking layer for JSON-RPC methods. Confirm the storage backend (Redis/DB), lock key design, TTL, acquisition timeout, and failure semantics. Treat 2.0.0 as breaking: diff 1.0.1...2.0.0, verify Symfony vs. Laravel fit, and add contract tests for lock contention, release-on-error, and timeout behavior. The fallback is Cache::lock() with an idempotency-key convention.
How can I help you explore Laravel packages today?