55 lines
1.9 KiB
YAML
55 lines
1.9 KiB
YAML
|
name: SemaphoreFactory
|
||
|
class_comment: "# * Factory provides method to create semaphores.\n# *\n# * @author\
|
||
|
\ Gr\xE9goire Pineau <lyrixx@lyrixx.info>\n# * @author J\xE9r\xE9my Deruss\xE9 <jeremy@derusse.com>\n\
|
||
|
# * @author Hamza Amrouche <hamza.simperfit@gmail.com>"
|
||
|
dependencies:
|
||
|
- name: LoggerAwareInterface
|
||
|
type: class
|
||
|
source: Psr\Log\LoggerAwareInterface
|
||
|
- name: LoggerAwareTrait
|
||
|
type: class
|
||
|
source: Psr\Log\LoggerAwareTrait
|
||
|
- name: LoggerAwareTrait
|
||
|
type: class
|
||
|
source: LoggerAwareTrait
|
||
|
properties: []
|
||
|
methods:
|
||
|
- name: createSemaphore
|
||
|
visibility: public
|
||
|
parameters:
|
||
|
- name: resource
|
||
|
- name: limit
|
||
|
- name: weight
|
||
|
default: '1'
|
||
|
- name: ttlInSecond
|
||
|
default: '300.0'
|
||
|
- name: autoRelease
|
||
|
default: 'true'
|
||
|
comment: "# * Factory provides method to create semaphores.\n# *\n# * @author Gr\xE9\
|
||
|
goire Pineau <lyrixx@lyrixx.info>\n# * @author J\xE9r\xE9my Deruss\xE9 <jeremy@derusse.com>\n\
|
||
|
# * @author Hamza Amrouche <hamza.simperfit@gmail.com>\n# */\n# class SemaphoreFactory\
|
||
|
\ implements LoggerAwareInterface\n# {\n# use LoggerAwareTrait;\n# \n# public\
|
||
|
\ function __construct(\n# private PersistingStoreInterface $store,\n# ) {\n#\
|
||
|
\ }\n# \n# /**\n# * @param float|null $ttlInSecond Maximum expected semaphore\
|
||
|
\ duration in seconds\n# * @param bool $autoRelease Whether to automatically\
|
||
|
\ release the semaphore or not when the semaphore instance is destroyed"
|
||
|
- name: createSemaphoreFromKey
|
||
|
visibility: public
|
||
|
parameters:
|
||
|
- name: key
|
||
|
- name: ttlInSecond
|
||
|
default: '300.0'
|
||
|
- name: autoRelease
|
||
|
default: 'true'
|
||
|
comment: '# * @param float|null $ttlInSecond Maximum expected semaphore duration
|
||
|
in seconds
|
||
|
|
||
|
# * @param bool $autoRelease Whether to automatically release the semaphore
|
||
|
or not when the semaphore instance is destroyed'
|
||
|
traits:
|
||
|
- Psr\Log\LoggerAwareInterface
|
||
|
- Psr\Log\LoggerAwareTrait
|
||
|
- LoggerAwareTrait
|
||
|
interfaces:
|
||
|
- LoggerAwareInterface
|