mmucklo /
DtcQueueBundle
| 1 | <?php |
||
| 2 | |||
| 3 | namespace Dtc\QueueBundle\DependencyInjection; |
||
| 4 | |||
| 5 | use Dtc\QueueBundle\Manager\PriorityJobManager; |
||
| 6 | use Symfony\Component\Config\Definition\Builder\TreeBuilder; |
||
|
0 ignored issues
–
show
|
|||
| 7 | use Symfony\Component\Config\Definition\ConfigurationInterface; |
||
|
0 ignored issues
–
show
The type
Symfony\Component\Config...\ConfigurationInterface was not found. Maybe you did not declare it correctly or list all dependencies?
The issue could also be caused by a filter entry in the build configuration.
If the path has been excluded in your configuration, e.g. filter:
dependency_paths: ["lib/*"]
For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths Loading history...
|
|||
| 8 | use Symfony\Component\HttpKernel\Kernel; |
||
|
0 ignored issues
–
show
The type
Symfony\Component\HttpKernel\Kernel was not found. Maybe you did not declare it correctly or list all dependencies?
The issue could also be caused by a filter entry in the build configuration.
If the path has been excluded in your configuration, e.g. filter:
dependency_paths: ["lib/*"]
For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths Loading history...
|
|||
| 9 | |||
| 10 | class Configuration implements ConfigurationInterface |
||
| 11 | { |
||
| 12 | 1 | use RabbitMQConfiguration; |
|
| 13 | 1 | use RedisConfiguration; |
|
| 14 | |||
| 15 | /** |
||
| 16 | * Generates the configuration tree. |
||
| 17 | * |
||
| 18 | * @return TreeBuilder |
||
| 19 | */ |
||
| 20 | 10 | public function getConfigTreeBuilder(): TreeBuilder |
|
| 21 | { |
||
| 22 | 10 | $treeBuilder = new TreeBuilder('dtc_queue'); |
|
| 23 | |||
| 24 | 10 | if (method_exists($treeBuilder, 'getRootNode')) { |
|
| 25 | 10 | $rootNode = $treeBuilder->getRootNode(); |
|
| 26 | } else { |
||
| 27 | // BC layer for symfony/config 4.1 and older |
||
| 28 | $rootNode = $treeBuilder->root('dtc_queue'); |
||
| 29 | } |
||
| 30 | |||
| 31 | $node = $rootNode |
||
| 32 | 10 | ->children() |
|
| 33 | 10 | ->booleanNode('locale_fix') |
|
| 34 | 10 | ->defaultFalse() |
|
| 35 | 10 | ->info('Set this to true to fix issues with ORM saving (see issue #98) in non-period decimal format locales') |
|
| 36 | 10 | ->end() |
|
| 37 | 10 | ->append($this->addSimpleScalar('orm', 'entity_manager', 'This only needs to be set if orm is used for any of the managers, and you do not want to use the default entity manager')) |
|
| 38 | 10 | ->append($this->addSimpleScalar('odm', 'document_manager', 'This only needs to be set if odm is used for any of the managers, and you do not want to use the default document manager')) |
|
| 39 | 10 | ->append($this->addManager()) |
|
| 40 | 10 | ->append($this->addTimings()) |
|
| 41 | 10 | ->append($this->addBeanstalkd()) |
|
| 42 | 10 | ->append($this->addRabbitMq()) |
|
| 43 | 10 | ->append($this->addRedis()) |
|
| 44 | 10 | ->append($this->addSimpleScalar('admin', 'chartjs', 'This can be changed to say a locally hosted path or url.', 'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.bundle.min.js')) |
|
| 45 | 10 | ->append($this->addClasses()) |
|
| 46 | 10 | ->append($this->addPriority()) |
|
| 47 | 10 | ->append($this->addRetry()); |
|
| 48 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'document_manager', 'The "%node% option is deprecated, Use "odm: { document_manager: ... }" instead.'); |
|
| 49 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'entity_manager', 'The "%node% option is deprecated, Use "orm: { entity_manager: ... }" instead.'); |
|
| 50 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'default_manager', 'The "%node% option is deprecated, Use "manager: { job: ... }" instead.'); |
|
| 51 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'run_manager', 'The "%node% option is deprecated, Use "manager: { run: ... }" instead.'); |
|
| 52 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'job_timing_manager', 'The "%node% option is deprecated, Use "manager: { job_timing: ... }" instead.'); |
|
| 53 | 10 | $node = $this->setDeprecatedNode($node, 'booleanNode', 'record_timings', 'The "%node% option is deprecated, Use "timings: { record: ... }" instead.'); |
|
| 54 | 10 | $node = $this->setDeprecatedNode($node, 'floatNode', 'record_timings_timezone_offset', 'The "%node% option is deprecated, Use "record: { timezone_offset: ... }" instead.'); |
|
| 55 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'class_job', 'The "%node% option is deprecated, Use "class: { job: ... }" instead.'); |
|
| 56 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'class_job_archive', 'The "%node% option is deprecated, Use "class: { job_archive: ... }" instead.'); |
|
| 57 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'class_run', 'The "%node% option is deprecated, Use "class: { run: ... }" instead.'); |
|
| 58 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'class_run_archive', 'The "%node% option is deprecated, Use "class: { run_archive: ... }" instead.'); |
|
| 59 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'class_job_timing', 'The "%node% option is deprecated, Use "class: { job_timing: ... }" instead.'); |
|
| 60 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'priority_max', 'The "%node% option is deprecated, Use "priority: { max: ... }" instead.'); |
|
| 61 | 10 | $node = $this->setDeprecatedNode($node, 'scalarNode', 'priority_direction', 'The "%node% option is deprecated, Use "priority: { direction: ... }" instead.'); |
|
| 62 | 10 | $node->end(); |
|
| 63 | |||
| 64 | 10 | return $treeBuilder; |
|
| 65 | } |
||
| 66 | |||
| 67 | 10 | public function setDeprecatedNode($node, $type, $name, $deprecatedMessage) |
|
| 68 | { |
||
| 69 | 10 | $node = $node->$type($name); |
|
| 70 | |||
| 71 | 10 | if (Kernel::VERSION_ID >= 50100) { |
|
| 72 | 10 | $node = $node->setDeprecated('mmucklo/queue-bundle', '5.1', $deprecatedMessage); |
|
| 73 | } elseif (Kernel::VERSION_ID >= 30400) { |
||
| 74 | $node = $node->setDeprecated($deprecatedMessage); |
||
| 75 | } |
||
| 76 | |||
| 77 | 10 | return $node->end(); |
|
| 78 | } |
||
| 79 | |||
| 80 | 10 | protected function addTimings() |
|
| 81 | { |
||
| 82 | 10 | $treeBuilder = new TreeBuilder('timings'); |
|
| 83 | |||
| 84 | 10 | if (method_exists($treeBuilder, 'getRootNode')) { |
|
| 85 | 10 | $rootNode = $treeBuilder->getRootNode(); |
|
| 86 | } else { |
||
| 87 | // BC layer for symfony/config 4.1 and older |
||
| 88 | $rootNode = $treeBuilder->root('timings'); |
||
| 89 | } |
||
| 90 | |||
| 91 | $rootNode |
||
| 92 | 10 | ->addDefaultsIfNotSet() |
|
| 93 | 10 | ->children() |
|
| 94 | 10 | ->booleanNode('record') |
|
| 95 | 10 | ->info('Set this to true to record timings (used on the Trends page)') |
|
| 96 | 10 | ->defaultFalse() |
|
| 97 | 10 | ->end() |
|
| 98 | 10 | ->floatNode('timezone_offset') |
|
| 99 | 10 | ->defaultValue(0) |
|
| 100 | 10 | ->info('Set this some integer offset from GMT in case your database is not storing things in the proper timezone and the dates look off on the Trends page') |
|
| 101 | 10 | ->max(24) |
|
| 102 | 10 | ->min(-24) |
|
| 103 | 10 | ->end() |
|
| 104 | 10 | ->end(); |
|
| 105 | |||
| 106 | 10 | return $rootNode; |
|
| 107 | } |
||
| 108 | |||
| 109 | 10 | protected function addSimpleScalar($rootName, $nodeName, $info, $defaultValue = 'default') |
|
| 110 | { |
||
| 111 | 10 | $treeBuilder = new TreeBuilder($rootName); |
|
| 112 | |||
| 113 | 10 | if (method_exists($treeBuilder, 'getRootNode')) { |
|
| 114 | 10 | $rootNode = $treeBuilder->getRootNode(); |
|
| 115 | } else { |
||
| 116 | // BC layer for symfony/config 4.1 and older |
||
| 117 | $rootNode = $treeBuilder->root($rootName); |
||
| 118 | } |
||
| 119 | |||
| 120 | $rootNode |
||
| 121 | 10 | ->addDefaultsIfNotSet() |
|
| 122 | 10 | ->children() |
|
| 123 | 10 | ->scalarNode($nodeName) |
|
| 124 | 10 | ->info($info) |
|
| 125 | 10 | ->defaultValue($defaultValue) |
|
| 126 | 10 | ->cannotBeEmpty() |
|
| 127 | 10 | ->end() |
|
| 128 | 10 | ->end(); |
|
| 129 | |||
| 130 | 10 | return $rootNode; |
|
| 131 | } |
||
| 132 | |||
| 133 | 10 | protected function addManager() |
|
| 134 | { |
||
| 135 | 10 | $treeBuilder = new TreeBuilder('manager'); |
|
| 136 | |||
| 137 | 10 | if (method_exists($treeBuilder, 'getRootNode')) { |
|
| 138 | 10 | $rootNode = $treeBuilder->getRootNode(); |
|
| 139 | } else { |
||
| 140 | // BC layer for symfony/config 4.1 and older |
||
| 141 | $rootNode = $treeBuilder->root('manager'); |
||
| 142 | } |
||
| 143 | $rootNode |
||
| 144 | 10 | ->addDefaultsIfNotSet() |
|
| 145 | 10 | ->children() |
|
| 146 | 10 | ->scalarNode('job') |
|
| 147 | 10 | ->defaultValue('odm') |
|
| 148 | 10 | ->info('This can be [odm|orm|beanstalkd|rabbit_mq|redis|(your-own-custom-one)]') |
|
| 149 | 10 | ->cannotBeEmpty() |
|
| 150 | 10 | ->end() |
|
| 151 | 10 | ->scalarNode('run')->end() |
|
| 152 | 10 | ->scalarNode('job_timing')->end() |
|
| 153 | 10 | ->end(); |
|
| 154 | |||
| 155 | 10 | return $rootNode; |
|
| 156 | } |
||
| 157 | |||
| 158 | 10 | protected function addBeanstalkd() |
|
| 159 | { |
||
| 160 | 10 | $treeBuilder = new TreeBuilder('beanstalkd'); |
|
| 161 | |||
| 162 | 10 | if (method_exists($treeBuilder, 'getRootNode')) { |
|
| 163 | 10 | $rootNode = $treeBuilder->getRootNode(); |
|
| 164 | } else { |
||
| 165 | // BC layer for symfony/config 4.1 and older |
||
| 166 | $rootNode = $treeBuilder->root('beanstalkd'); |
||
| 167 | } |
||
| 168 | |||
| 169 | $rootNode |
||
| 170 | 10 | ->children() |
|
| 171 | 10 | ->scalarNode('host')->end() |
|
| 172 | 10 | ->integerNode('port') |
|
| 173 | 10 | ->defaultValue(11300) |
|
| 174 | 10 | ->end() |
|
| 175 | 10 | ->scalarNode('tube')->end() |
|
| 176 | 10 | ->end(); |
|
| 177 | |||
| 178 | 10 | return $rootNode; |
|
| 179 | } |
||
| 180 | |||
| 181 | 10 | protected function addRetry() |
|
| 182 | { |
||
| 183 | 10 | $treeBuilder = new TreeBuilder('retry'); |
|
| 184 | |||
| 185 | 10 | if (method_exists($treeBuilder, 'getRootNode')) { |
|
| 186 | 10 | $rootNode = $treeBuilder->getRootNode(); |
|
| 187 | } else { |
||
| 188 | // BC layer for symfony/config 4.1 and older |
||
| 189 | $rootNode = $treeBuilder->root('retry'); |
||
| 190 | } |
||
| 191 | |||
| 192 | $rootNode |
||
| 193 | 10 | ->addDefaultsIfNotSet() |
|
| 194 | 10 | ->children() |
|
| 195 | 10 | ->arrayNode('max') |
|
| 196 | 10 | ->addDefaultsIfNotSet() |
|
| 197 | 10 | ->children() |
|
| 198 | 10 | ->integerNode('retries') |
|
| 199 | 10 | ->info('This the maximum total number of retries of any type.') |
|
| 200 | 10 | ->defaultValue(3) |
|
| 201 | 10 | ->end() |
|
| 202 | 10 | ->integerNode('failures') |
|
| 203 | 10 | ->info('This the maximum total number of failures before a job is marked as hitting the maximum failures.') |
|
| 204 | 10 | ->defaultValue(1) |
|
| 205 | 10 | ->end() |
|
| 206 | 10 | ->integerNode('exceptions') |
|
| 207 | 10 | ->info('This the maximum total number of exceptions before a job is marked as hitting the maximum exceptions.') |
|
| 208 | 10 | ->defaultValue(2) |
|
| 209 | 10 | ->end() |
|
| 210 | 10 | ->integerNode('stalls') |
|
| 211 | 10 | ->info('This the maximum total number of exceptions before a job is marked as hitting the maximum exceptions.') |
|
| 212 | 10 | ->defaultValue(2) |
|
| 213 | 10 | ->end() |
|
| 214 | 10 | ->end() |
|
| 215 | 10 | ->end() |
|
| 216 | 10 | ->arrayNode('auto') |
|
| 217 | 10 | ->addDefaultsIfNotSet() |
|
| 218 | 10 | ->children() |
|
| 219 | 10 | ->booleanNode('failure') |
|
| 220 | 10 | ->info('Instantly re-queue the job on failure.') |
|
| 221 | 10 | ->defaultTrue() |
|
| 222 | 10 | ->end() |
|
| 223 | 10 | ->booleanNode('exception') |
|
| 224 | 10 | ->info('Instantly re-queue the job on exception.') |
|
| 225 | 10 | ->defaultFalse() |
|
| 226 | 10 | ->end() |
|
| 227 | 10 | ->end() |
|
| 228 | 10 | ->end() |
|
| 229 | 10 | ->end(); |
|
| 230 | |||
| 231 | 10 | return $rootNode; |
|
| 232 | } |
||
| 233 | |||
| 234 | 10 | protected function addPriority() |
|
| 235 | { |
||
| 236 | 10 | $treeBuilder = new TreeBuilder('priority'); |
|
| 237 | |||
| 238 | 10 | if (method_exists($treeBuilder, 'getRootNode')) { |
|
| 239 | 10 | $rootNode = $treeBuilder->getRootNode(); |
|
| 240 | } else { |
||
| 241 | // BC layer for symfony/config 4.1 and older |
||
| 242 | $rootNode = $treeBuilder->root('priority'); |
||
| 243 | } |
||
| 244 | $rootNode |
||
| 245 | 10 | ->addDefaultsIfNotSet() |
|
| 246 | 10 | ->children() |
|
| 247 | 10 | ->integerNode('max') |
|
| 248 | 10 | ->defaultValue(255) |
|
| 249 | 10 | ->info('Maximum priority value.') |
|
| 250 | 10 | ->min(1) |
|
| 251 | 10 | ->end() |
|
| 252 | 10 | ->enumNode('direction') |
|
| 253 | 10 | ->values([PriorityJobManager::PRIORITY_ASC, PriorityJobManager::PRIORITY_DESC]) |
|
| 254 | 10 | ->info('Whether 1 is high priority or low prioirty. '.PriorityJobManager::PRIORITY_ASC.' means 1 is low, '.PriorityJobManager::PRIORITY_DESC.' means 1 is high.') |
|
| 255 | 10 | ->defaultValue(PriorityJobManager::PRIORITY_DESC) |
|
| 256 | 10 | ->end() |
|
| 257 | 10 | ->end(); |
|
| 258 | |||
| 259 | 10 | return $rootNode; |
|
| 260 | } |
||
| 261 | |||
| 262 | 10 | protected function addClasses() |
|
| 263 | { |
||
| 264 | 10 | $treeBuilder = new TreeBuilder('class'); |
|
| 265 | |||
| 266 | 10 | if (method_exists($treeBuilder, 'getRootNode')) { |
|
| 267 | 10 | $rootNode = $treeBuilder->getRootNode(); |
|
| 268 | } else { |
||
| 269 | // BC layer for symfony/config 4.1 and older |
||
| 270 | $rootNode = $treeBuilder->root('class'); |
||
| 271 | } |
||
| 272 | |||
| 273 | $rootNode |
||
| 274 | 10 | ->children() |
|
| 275 | 10 | ->scalarNode('job') |
|
| 276 | 10 | ->info('If you want to override the Job class, put the class name here.')->end() |
|
| 277 | 10 | ->scalarNode('job_archive') |
|
| 278 | 10 | ->info('If you want to override the JobArchive class, put the class name here.')->end() |
|
| 279 | 10 | ->scalarNode('job_timing') |
|
| 280 | 10 | ->info('If you want to override the JobTiming class, put the class name here.')->end() |
|
| 281 | 10 | ->scalarNode('run') |
|
| 282 | 10 | ->info('If you want to override the Run class, put the class name here.')->end() |
|
| 283 | 10 | ->scalarNode('run_archive') |
|
| 284 | 10 | ->info('If you want to override the RunArchive class, put the class name here.')->end() |
|
| 285 | 10 | ->end(); |
|
| 286 | |||
| 287 | 10 | return $rootNode; |
|
| 288 | } |
||
| 289 | } |
||
| 290 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths