Contributed by Jérémy Derussé in #44155.
In Symfony 5.2 we introduced a Semaphore component as an alternative to the existing Lock component. According to the Wikipedia definition, a semaphore is a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system such as a multitasking operating system. Broadly speaking, a semaphore allows N process to access a resource, and a lock is a semaphore where N = 1. In Symfony 6.1 we're improving Semaphore integration in Symfony applications thanks to the new framework.semaphore option. First, you can pass a string with the DSN of the store used by the semaphore:
# config/packages/framework.yaml
framework: semaphore: redis://localhost
If your application uses multiple semaphores, configure each of them separately using the same configuration option:
# config/packages/framework.yaml
framework: semaphore: invoices: redis://localhost/1 orders: redis://localhost/2
That's all! Symfony will create the configured semaphore(s) and will make them available to your application.
Sponsor the Symfony project.
Login to add comment
Other posts in this group

Symfony's bridge packages integrate third-party services, such as mailers, notifiers, and translation providers, into Symfony applications. With more than 120 bridges available today, Symfony supports

Symfony Messenger component keeps evolving to meet the needs of complex, modern applications. In Symfony 7.3, we're introducing several powerful features to it.
Run Process Using the Shell… https://s

The Routing component provides an impressive list of features to map incoming URLs to your application code. Symfony 7.3 pushes it even further with a set of new features that improve developer experi

Contributed by Mathias Arlaud in

Affected versions
Symfony UX symfony/ux-live-component and symfony/ux-twig-component versions <2.25.1 are affected by this security issue.
The issue has been fixed in the 2.25.1 version of these

Symfony has been reducing the need for configuration in applications for several years now. Thanks to PHP attributes, you can now configure most things alongside the relevant code, removing the need f

This week, development activity focused on polishing Symfony 7.3 ahead of its final release in two weeks. We also continued publishing articles highlighting the new features of Symfony 7.3 and shared