public function handleRequest()
    {
        $sequence = $this->bootstrap->buildRuntimeSequence();
        $sequence->invoke($this->bootstrap);

        $objectManager = $this->bootstrap->getObjectManager();
        /** @var LoggerInterface $logger */
        $logger = $objectManager->get(PsrLoggerFactoryInterface::class)->get('systemLogger');

        $logger->debug('Running sub process loop.');
        echo "\nREADY\n";

        try {
            while (true) {
                $commandLine = trim(fgets(STDIN));
                $trimmedCommandLine = trim($commandLine);
                $logger->info(sprintf('Received command "%s".', $trimmedCommandLine), LogEnvironment::fromMethodName(__METHOD__));
                if ($commandLine === "QUIT\n") {
                    break;
                }
                /** @var Request $request */
                $request = $objectManager->get(RequestBuilder::class)->build($trimmedCommandLine);
                $response = new Response();
                if ($this->bootstrap->isCompiletimeCommand($request->getCommand()->getCommandIdentifier())) {
                    echo "This command must be executed during compiletime.\n";
                } else {
                    $objectManager->get(Dispatcher::class)->dispatch($request, $response);
                    $response->send();

                    $this->emitDispatchedCommandLineSlaveRequest();
                }
                echo "\nREADY\n";
            }

            $logger->debug('Exiting sub process loop.');
            $this->bootstrap->shutdown(Bootstrap::RUNLEVEL_RUNTIME);
            exit($response->getExitCode());
        } catch (\Exception $exception) {
            $this->handleException($exception);
        }
    }
public function handleRequest()
    {
        $sequence = $this->bootstrap->buildRuntimeSequence();
        $sequence->invoke($this->bootstrap);

        $objectManager = $this->bootstrap->getObjectManager();
        /** @var LoggerInterface $logger */
        $logger = $objectManager->get(PsrLoggerFactoryInterface::class)->get('systemLogger');

        $logger->debug('Running sub process loop.');
        echo "\nREADY\n";

        try {
            while (true) {
                $commandLine = trim(fgets(STDIN));
                $trimmedCommandLine = trim($commandLine);
                $logger->info(sprintf('Received command "%s".', $trimmedCommandLine), LogEnvironment::fromMethodName(__METHOD__));
                if ($commandLine === "QUIT\n") {
                    break;
                }
                /** @var Request $request */
                $request = $objectManager->get(RequestBuilder::class)->build($trimmedCommandLine);
                $response = new Response();
                if ($this->bootstrap->isCompiletimeCommand($request->getCommand()->getCommandIdentifier())) {
                    echo "This command must be executed during compiletime.\n";
                } else {
                    $objectManager->get(Dispatcher::class)->dispatch($request, $response);
                    $response->send();

                    $this->emitDispatchedCommandLineSlaveRequest();
                }
                echo "\nREADY\n";
            }

            $logger->debug('Exiting sub process loop.');
            $this->bootstrap->shutdown(Bootstrap::RUNLEVEL_RUNTIME);
            exit($response->getExitCode());
        } catch (\Exception $exception) {
            $this->handleException($exception);
        }
    }
public function handleRequest ( ) { $ sequence = $ this -> bootstrap -> buildRuntimeSequence ( ) ; $ sequence -> invoke ( $ this -> bootstrap ) ; $ objectManager = $ this -> bootstrap -> getObjectManager ( ) ; /** @var LoggerInterface $logger */ $ logger = $ objectManager -> get ( PsrLoggerFactoryInterface :: class ) -> get ( 'systemLogger' ) ; $ logger -> debug ( 'Running sub process loop.' ) ; echo "\nREADY\n" ; try { while ( true ) { $ commandLine = trim ( fgets ( STDIN ) ) ; $ trimmedCommandLine = trim ( $ commandLine ) ; $ logger -> info ( sprintf ( 'Received command "%s".' , $ trimmedCommandLine ) , LogEnvironment :: fromMethodName ( __METHOD__ ) ) ; if ( $ commandLine === "QUIT\n" ) { break ; } /** @var Request $request */ $ request = $ objectManager -> get ( RequestBuilder :: class ) -> build ( $ trimmedCommandLine ) ; $ response = new Response ( ) ; if ( $ this -> bootstrap -> isCompiletimeCommand ( $ request -> getCommand ( ) -> getCommandIdentifier ( ) ) ) { echo "This command must be executed during compiletime.\n" ; } else { $ objectManager -> get ( Dispatcher :: class ) -> dispatch ( $ request , $ response ) ; $ response -> send ( ) ; $ this -> emitDispatchedCommandLineSlaveRequest ( ) ; } echo "\nREADY\n" ; } $ logger -> debug ( 'Exiting sub process loop.' ) ; $ this -> bootstrap -> shutdown ( Bootstrap :: RUNLEVEL_RUNTIME ) ; exit ( $ response -> getExitCode ( ) ) ; } catch ( \ Exception $ exception ) { $ this -> handleException ( $ exception ) ; } }
Creates an event loop which takes orders from the parent process and executes
them in runtime mode.

@return void
@throws FlowException
Creates an event loop which takes orders from the parent process and executes them in runtime mode .