public function build()
    {
        $this->createPathDirectories();

        if (!is_file($this->createSupervisorConfigurationFilePath())) {
            $this->generateSupervisorConfiguration();
        }

        // remove old worker configuration files
        /** @var \SplFileInfo $item */
        foreach (new \DirectoryIterator($this->paths['worker_configuration_directory']) as $item) {
            if ($item->isDir()) {
                continue;
            }

            if ('conf' !== $item->getExtension()) {
                continue;
            }

            unlink($item->getRealPath());
        }

        // generate program configuration files for all consumers
        $this->generateWorkerConfigurations(array_keys($this->consumers), $this->commands['rabbitmq_consumer']);

        // generate program configuration files for all multiple consumers
        $this->generateWorkerConfigurations(array_keys($this->multipleConsumers), $this->commands['rabbitmq_multiple_consumer']);

        // generate program configuration files for all batch consumers
        $this->generateWorkerConfigurations(array_keys($this->batchConsumers), $this->commands['rabbitmq_batch_consumer']);

        //generate program configuration files for all rpc_server consumers
        $this->generateWorkerConfigurations(array_keys($this->rpcServers), $this->commands['rabbitmq_rpc_server']);

        // start supervisord and reload configuration
        $this->supervisor->runAndReload();
    }
public function build()
    {
        $this->createPathDirectories();

        if (!is_file($this->createSupervisorConfigurationFilePath())) {
            $this->generateSupervisorConfiguration();
        }

        // remove old worker configuration files
        /** @var \SplFileInfo $item */
        foreach (new \DirectoryIterator($this->paths['worker_configuration_directory']) as $item) {
            if ($item->isDir()) {
                continue;
            }

            if ('conf' !== $item->getExtension()) {
                continue;
            }

            unlink($item->getRealPath());
        }

        // generate program configuration files for all consumers
        $this->generateWorkerConfigurations(array_keys($this->consumers), $this->commands['rabbitmq_consumer']);

        // generate program configuration files for all multiple consumers
        $this->generateWorkerConfigurations(array_keys($this->multipleConsumers), $this->commands['rabbitmq_multiple_consumer']);

        // generate program configuration files for all batch consumers
        $this->generateWorkerConfigurations(array_keys($this->batchConsumers), $this->commands['rabbitmq_batch_consumer']);

        //generate program configuration files for all rpc_server consumers
        $this->generateWorkerConfigurations(array_keys($this->rpcServers), $this->commands['rabbitmq_rpc_server']);

        // start supervisord and reload configuration
        $this->supervisor->runAndReload();
    }
public function build ( ) { $ this -> createPathDirectories ( ) ; if ( ! is_file ( $ this -> createSupervisorConfigurationFilePath ( ) ) ) { $ this -> generateSupervisorConfiguration ( ) ; } // remove old worker configuration files /** @var \SplFileInfo $item */ foreach ( new \ DirectoryIterator ( $ this -> paths [ 'worker_configuration_directory' ] ) as $ item ) { if ( $ item -> isDir ( ) ) { continue ; } if ( 'conf' !== $ item -> getExtension ( ) ) { continue ; } unlink ( $ item -> getRealPath ( ) ) ; } // generate program configuration files for all consumers $ this -> generateWorkerConfigurations ( array_keys ( $ this -> consumers ) , $ this -> commands [ 'rabbitmq_consumer' ] ) ; // generate program configuration files for all multiple consumers $ this -> generateWorkerConfigurations ( array_keys ( $ this -> multipleConsumers ) , $ this -> commands [ 'rabbitmq_multiple_consumer' ] ) ; // generate program configuration files for all batch consumers $ this -> generateWorkerConfigurations ( array_keys ( $ this -> batchConsumers ) , $ this -> commands [ 'rabbitmq_batch_consumer' ] ) ; //generate program configuration files for all rpc_server consumers $ this -> generateWorkerConfigurations ( array_keys ( $ this -> rpcServers ) , $ this -> commands [ 'rabbitmq_rpc_server' ] ) ; // start supervisord and reload configuration $ this -> supervisor -> runAndReload ( ) ; }
Build all supervisor worker configuration files
Build all supervisor worker configuration files