vendor/jms/job-queue-bundle/JMS/JobQueueBundle/DependencyInjection/Configuration.php line 38

Open in your IDE?
  1. <?php
  2. /*
  3.  * Copyright 2012 Johannes M. Schmitt <schmittjoh@gmail.com>
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  * http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. namespace JMS\JobQueueBundle\DependencyInjection;
  18. use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
  19. use Symfony\Component\Config\Definition\Builder\TreeBuilder;
  20. use Symfony\Component\Config\Definition\ConfigurationInterface;
  21. /**
  22.  * JMSJobQueueBundle Configuration.
  23.  *
  24.  * @author Johannes M. Schmitt <schmittjoh@gmail.com>
  25.  */
  26. class Configuration implements ConfigurationInterface
  27. {
  28.     /**
  29.      * {@inheritDoc}
  30.      */
  31.     public function getConfigTreeBuilder()
  32.     {
  33.         $treeBuilder = new TreeBuilder();
  34.         $rootNode $treeBuilder->root('jms_job_queue');
  35.         $rootNode
  36.             ->children()
  37.                 ->booleanNode('statistics')->defaultTrue()->end();
  38.         $defaultOptionsNode $rootNode
  39.             ->children()
  40.                 ->arrayNode('queue_options_defaults')
  41.                     ->addDefaultsIfNotSet();
  42.         $this->addQueueOptions($defaultOptionsNode);
  43.         $queueOptionsNode $rootNode
  44.             ->children()
  45.                 ->arrayNode('queue_options')
  46.                     ->useAttributeAsKey('queue')
  47.                     ->prototype('array');
  48.         $this->addQueueOptions($queueOptionsNode);
  49.         return $treeBuilder;
  50.     }
  51.     private function addQueueOptions(ArrayNodeDefinition $def)
  52.     {
  53.         $def
  54.             ->children()
  55.                 ->scalarNode('max_concurrent_jobs')->end()
  56.         ;
  57.     }
  58. }