code: public function process(ContainerBuilder $container)
      {
          if(!($container->hasDefinition($this->queueEngineService) || !$container->hasAlias($this->queueEngineService))
              && !($container->hasDefinition($this->dispatcherService) || $container->hasAlias($this->dispatcherService))
          )
          {
              return;
          }
  
          $dispatcher = $container->getDefinition($this->dispatcherService);
  
          foreach($container->findTaggedServiceIds($this->jobTag) as $id => $tags)
          {
              foreach($tags as $tag)
              {
                  // workaround
                  $dispatcher->addMethodCall(
                      'addListener',
                      array(
                          $tag['type'],
                          array(new ServiceClosureArgument(new Reference($this->queueEngineService)), 'process')
                      )
                  );
              }
          }
      }
docs: {@inheritdoc}