code: public function process(ContainerBuilder $container)
      {
          if (!$container->hasDefinition($this->registryService) && !$container->hasAlias($this->registryService)) {
              return;
          }
  
          $customLogLevels = $container->getParameter('abc.job.logging.level');
          $registry        = $container->findDefinition('abc.job.registry');
  
          foreach ($container->findTaggedServiceIds($this->jobTag) as $id => $tags) {
              $def = $container->getDefinition($id);
              if (!$def->isPublic()) {
                  throw new \InvalidArgumentException(sprintf('The service "%s" must be public as jobs are lazy-loaded.', $id));
              }
  
              foreach ($tags as $tag) {
                  if (!isset($tag['type'])) {
                      throw new \InvalidArgumentException(sprintf('Service "%s" must define the "type" attribute on "%s" tags.', $id, $this->jobTag));
                  }
  
                  if (!isset($tag['method'])) {
                      throw new \InvalidArgumentException(sprintf('Service "%s" must define the "method" attribute on "%s" tags.', $id, $this->jobTag));
                  }
  
                  $logLevel  = isset($customLogLevels[$tag['type']]) ? $this->levelToMonologConst($customLogLevels[$tag['type']]) : null;
                  $jobTypeId = 'abc.job.type.' . $tag['type'];
  
                  $definition = $this->createType(
                      $id,
                      $tag['type'],
                      array(new Reference($id), $tag['method']),
                      $logLevel
                  );
  
                  $container->setDefinition($jobTypeId, $definition);
  
                  $registry->addMethodCall('register', array(new Reference($jobTypeId), true));
              }
          }
  
          // there as a reason this listener was registered here, what was it?
          if ($container->hasParameter('abc.job.adapter') && $container->getParameter('abc.job.adapter') == 'sonata') {
              $pass = new RegisterSonataListenersPass();
              $pass->process($container);
          }
      }
docs: {@inheritdoc}