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.
Chcete-li přidat komentář, přihlaste se
Ostatní příspěvky v této skupině

Contributed by Hubert Lenoir in

SymfonyOnline June 2025 is almost here, starting in almost 2 months on:
June 10-11: Workshop days. It is possible to attend 1 two-day training or 2 one-day trainings. June 12-13: Online confe

Contributed by Kévin Dunglas in

SymfonyOnline June 2025 is almost here, starting in almost 2 months on:
June 10-11: Workshop days. It is possible to attend 1 two-day training or 2 one-day trainings. June 12-13: Online confe

This is the first article in a series showcasing the most important new features introduced by Symfony 7.3, which will be released at the end of May 2025.

This week, the upcoming Symfony 7.3 version improved the AsAlias attribute by adding a new argument, introduced Clock support for UriSigner, and refined the return type of the ContainerInterface::get(

SymfonyOnline June 2025 is almost here, starting in almost 2 months on:
June 10-11: Workshop days. It is possible to attend 1 two-day training or 2 one-day trainings. June 12-13: Online confe