original_string: public function getQueueSettings(string $queueName): array
      {
          if (isset($this->queueSettingsRuntimeCache[$queueName])) {
              return $this->queueSettingsRuntimeCache[$queueName];
          }
          if (!isset($this->settings['queues'][$queueName])) {
              throw new JobQueueException(sprintf('Queue "%s" is not configured', $queueName), 1334054137);
          }
          $queueSettings = $this->settings['queues'][$queueName];
          if (isset($queueSettings['preset'])) {
              $presetName = $queueSettings['preset'];
              if (!isset($this->settings['presets'][$presetName])) {
                  throw new JobQueueException(sprintf('Preset "%s", referred to in settings for queue "%s" is not configured', $presetName, $queueName), 1466677893);
              }
              $queueSettings = Arrays::arrayMergeRecursiveOverrule($this->settings['presets'][$presetName], $queueSettings);
          }
          $this->queueSettingsRuntimeCache[$queueName] = $queueSettings;
          return $this->queueSettingsRuntimeCache[$queueName];
      }
code: public function getQueueSettings(string $queueName): array
      {
          if (isset($this->queueSettingsRuntimeCache[$queueName])) {
              return $this->queueSettingsRuntimeCache[$queueName];
          }
          if (!isset($this->settings['queues'][$queueName])) {
              throw new JobQueueException(sprintf('Queue "%s" is not configured', $queueName), 1334054137);
          }
          $queueSettings = $this->settings['queues'][$queueName];
          if (isset($queueSettings['preset'])) {
              $presetName = $queueSettings['preset'];
              if (!isset($this->settings['presets'][$presetName])) {
                  throw new JobQueueException(sprintf('Preset "%s", referred to in settings for queue "%s" is not configured', $presetName, $queueName), 1466677893);
              }
              $queueSettings = Arrays::arrayMergeRecursiveOverrule($this->settings['presets'][$presetName], $queueSettings);
          }
          $this->queueSettingsRuntimeCache[$queueName] = $queueSettings;
          return $this->queueSettingsRuntimeCache[$queueName];
      }
code_tokens: public function getQueueSettings ( string $ queueName ) : array { if ( isset ( $ this -> queueSettingsRuntimeCache [ $ queueName ] ) ) { return $ this -> queueSettingsRuntimeCache [ $ queueName ] ; } if ( ! isset ( $ this -> settings [ 'queues' ] [ $ queueName ] ) ) { throw new JobQueueException ( sprintf ( 'Queue "%s" is not configured' , $ queueName ) , 1334054137 ) ; } $ queueSettings = $ this -> settings [ 'queues' ] [ $ queueName ] ; if ( isset ( $ queueSettings [ 'preset' ] ) ) { $ presetName = $ queueSettings [ 'preset' ] ; if ( ! isset ( $ this -> settings [ 'presets' ] [ $ presetName ] ) ) { throw new JobQueueException ( sprintf ( 'Preset "%s", referred to in settings for queue "%s" is not configured' , $ presetName , $ queueName ) , 1466677893 ) ; } $ queueSettings = Arrays :: arrayMergeRecursiveOverrule ( $ this -> settings [ 'presets' ] [ $ presetName ] , $ queueSettings ) ; } $ this -> queueSettingsRuntimeCache [ $ queueName ] = $ queueSettings ; return $ this -> queueSettingsRuntimeCache [ $ queueName ] ; }
docstring: Returns the settings for the requested queue, merged with the preset defaults if any
  
  @param string $queueName
  @return array
  @throws JobQueueException if no queue for the given $queueName is configured
  @api
docstring_tokens: Returns the settings for the requested queue merged with the preset defaults if any