protected function scaleDown($processes)
    {
        $difference = count($this->processes) - $processes;

        // Here we will slice off the correct number of processes that we need to terminate
        // and remove them from the active process array. We'll be adding them the array
        // of terminating processes where they'll run until they are fully terminated.
        $terminatingProcesses = array_slice(
            $this->processes, 0, $difference
        );

        collect($terminatingProcesses)->each(function ($process) {
            $this->markForTermination($process);
        })->all();

        $this->removeProcesses($difference);

        // Finally we will call the terminate method on each of the processes that need get
        // terminated so they can start terminating. Terminating is a graceful operation
        // so any jobs they are already running will finish running before these quit.
        collect($this->terminatingProcesses)
                        ->each(function ($process) {
                            $process['process']->terminate();
                        });
    }
protected function scaleDown($processes)
    {
        $difference = count($this->processes) - $processes;

        // Here we will slice off the correct number of processes that we need to terminate
        // and remove them from the active process array. We'll be adding them the array
        // of terminating processes where they'll run until they are fully terminated.
        $terminatingProcesses = array_slice(
            $this->processes, 0, $difference
        );

        collect($terminatingProcesses)->each(function ($process) {
            $this->markForTermination($process);
        })->all();

        $this->removeProcesses($difference);

        // Finally we will call the terminate method on each of the processes that need get
        // terminated so they can start terminating. Terminating is a graceful operation
        // so any jobs they are already running will finish running before these quit.
        collect($this->terminatingProcesses)
                        ->each(function ($process) {
                            $process['process']->terminate();
                        });
    }
protected function scaleDown ( $ processes ) { $ difference = count ( $ this -> processes ) - $ processes ; // Here we will slice off the correct number of processes that we need to terminate // and remove them from the active process array. We'll be adding them the array // of terminating processes where they'll run until they are fully terminated. $ terminatingProcesses = array_slice ( $ this -> processes , 0 , $ difference ) ; collect ( $ terminatingProcesses ) -> each ( function ( $ process ) { $ this -> markForTermination ( $ process ) ; } ) -> all ( ) ; $ this -> removeProcesses ( $ difference ) ; // Finally we will call the terminate method on each of the processes that need get // terminated so they can start terminating. Terminating is a graceful operation // so any jobs they are already running will finish running before these quit. collect ( $ this -> terminatingProcesses ) -> each ( function ( $ process ) { $ process [ 'process' ] -> terminate ( ) ; } ) ; }
Scale down to the given number of processes.

@param  int  $processes
@return void
Scale down to the given number of processes .