TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #3830 2.81K
В этой статье обсуждается, как предотвратить дублирование отправок форм или запросов в приложениях Laravel с использованием атомарных блокировок. Атомарные блокировки помогают управлять распределенными блокировками, не беспокоясь о состязательности.

В примере рассматривается сценарий, в котором пользователь инициирует платежи через форму. Чтобы предотвратить нежелательные последствия, такие как обработка одного и того же запроса несколько раз, представлены атомарные блокировки. Реализация иллюстрируется в SendPaymentController.

Метод Cache::lock используется для создания атомарной блокировки. Он принимает три аргумента: имя блокировки, продолжительность ее действия и необязательный параметр владельца. Имя должно быть уникальным, чтобы избежать коллизий.

В примере SendPaymentController создается блокировка с уникальным именем ({$account->id}:payment:send), которая остается действительной в течение 10 секунд. Если блокировка получена, запрос обрабатывается, и пользователь перенаправляется с сообщением об успехе. Если блокировка не получена, пользователь перенаправляется с сообщением об ошибке.
Daryl Legion Preventing Duplicate Form Submissions Using Atomic Locks Prevent duplicate form submissions and job dispatching using Laravel's atomic locks.
  • ❤ 7
More from @phpproglib
  1. Oct 10, 2026Post #6729
  2. Oct 10, 2026Перенос MiniJinja с Rust на Go силами Opus и Codex Около десяти часов работы агента и прим…
  3. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  4. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  5. Sep 30, 2026🐸 Библиотека пхпшника
  6. Sep 29, 2026💡 Laravel-фича, которая спасает тесты от случайных запросов Http::preventStrayRequests()…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →