foxtech6 / mutexsafe
MutexSafe will help you use mutex more effectively. Different mutex for different components are presented. In addition, you can add your own lockers and use within the library.
v1.0
2019-10-08 10:28 UTC
Requires
- php: ^7.1
Requires (Dev)
- predis/predis: ~1.0
This package is auto-updated.
Last update: 2024-12-01 00:07:04 UTC
README
Manage locks effectively and faster | With PHP7
- This library will help you use mutex more effectively.
- Different mutex for different components are presented.
- In addition, you can add your own lockers and use within the library.
How to use
$customHandler = new \CustomHandler(/* some parameters */); // You can send the handler directly to the constructor $factory = new \Foxtech\Competitor($customHandler); /* OR */ // via the setHandler method $factory = new \Foxtech\Competitor(); $factory->setHandler($customHandler); $timeout = 50;//seconds $factory->getMutex('mutex_name')->acquire($timeout /* default timeout - 30 seconds */); // some code $factory->getMutex('mutex_name')->release();
You can also write your own mutex to a custom handler and use within our library.(Important: Your mutex must implement our interface)
$yourCustomHandler = new YourCustomHandler(); $factory = new \Foxtech\Competitor(); $factory->push(YourCustomHandler::class, YourMutex::class); $factory->setHandler($yourCustomHandler); $factory->getMutex('mutex_name')->acquire(); // some code $factory->getMutex('mutex_name')->release();
PDO Handler
$pdo = new \PDO('mysql:host=localhost;dbname=test', 'root', 'toor'); $factory = new \Foxtech\Competitor($pdo); $factory->getMutex('mutex_name')->acquire(); // some code $factory->getMutex('mutex_name')->release();