, (*1)
Phystrix Bundle
This bundle provides phystrix command factory service: phystrix.command_factory
with default configuration, (*2)
Installation
Install component by using Composer.
Update your project's composer.json
file to include dependency., (*3)
"require": {
"odesk/phystrix-bundle": "~1.1"
}
Register bundle in your AppKernel
, (*4)
``` php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Odesk\Bundle\PhystrixBundle\OdeskPhystrixBundle()
// ...
);
}
}, (*5)
## Configuration
Default configuration:
### app/config/config.yml
```yaml
odesk_phystrix:
default:
fallback: ~
circuitBreaker:
errorThresholdPercentage: 50
forceOpen: false
forceClosed: false
requestVolumeThreshold: 20
sleepWindowInMilliseconds: 5000
metrics:
healthSnapshotIntervalInMilliseconds: 1000
rollingStatisticalWindowInMilliseconds: 10000
rollingStatisticalWindowBuckets: 10
requestCache: ~
requestLog: ~
Web Profiler
Phystrix bundles comes with a web profiler plugin, it is enabled automatically whenever Symfony profiler is enabled.
You only need to make sure requestLog feature is turned on:, (*6)
odesk_phystrix:
default:
requestLog:
enabled: true
Only do this in mode/environment where profiler is active., (*7)
Usage
You may use phystrix.service_locator
to provide additional dependencies in runtime:, (*8)
$container->get('phystrix.service_locator')->set('somekey', $somevalue);
How to create and run a command:, (*9)
$command = $container->get('phystrix.command_factory')->getCommand('MyCommand', $parameter1, $parameter2);
$command->execute();
License
This file is a part of the Phystrix Bundle, (*10)
Copyright 2013-2017 Upwork Global Inc. All Rights Reserved., (*11)
This file is licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at, (*12)
http://www.apache.org/licenses/LICENSE-2.0, (*13)
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License., (*14)