public function runQueue($queue)
    {
        // split jobs out into multiple tasks...

        /** @var ProcessManager $manager */
        $manager = Injector::inst()->create(ProcessManager::class);
        $manager->setWorker(
            BASE_PATH . "/vendor/silverstripe/framework/cli-script.php dev/tasks/ProcessJobQueueChildTask"
        );
        $logPath = Environment::getEnv('SS_DOORMAN_LOGPATH');
        if ($logPath) {
            $manager->setLogPath($logPath);
        }

        // Assign default rules
        $defaultRules = $this->getDefaultRules();
        if ($defaultRules) {
            foreach ($defaultRules as $rule) {
                $manager->addRule($rule);
            }
        }

        $descriptor = $this->getNextJobDescriptorWithoutMutex($queue);

        while ($manager->tick() || $descriptor) {
            $this->logDescriptorStatus($descriptor, $queue);

            if ($descriptor instanceof QueuedJobDescriptor) {
                $descriptor->JobStatus = QueuedJob::STATUS_INIT;
                $descriptor->write();

                $manager->addTask(new DoormanQueuedJobTask($descriptor));
            }

            sleep(1);

            $descriptor = $this->getNextJobDescriptorWithoutMutex($queue);
        }
    }
public function runQueue($queue)
    {
        // split jobs out into multiple tasks...

        /** @var ProcessManager $manager */
        $manager = Injector::inst()->create(ProcessManager::class);
        $manager->setWorker(
            BASE_PATH . "/vendor/silverstripe/framework/cli-script.php dev/tasks/ProcessJobQueueChildTask"
        );
        $logPath = Environment::getEnv('SS_DOORMAN_LOGPATH');
        if ($logPath) {
            $manager->setLogPath($logPath);
        }

        // Assign default rules
        $defaultRules = $this->getDefaultRules();
        if ($defaultRules) {
            foreach ($defaultRules as $rule) {
                $manager->addRule($rule);
            }
        }

        $descriptor = $this->getNextJobDescriptorWithoutMutex($queue);

        while ($manager->tick() || $descriptor) {
            $this->logDescriptorStatus($descriptor, $queue);

            if ($descriptor instanceof QueuedJobDescriptor) {
                $descriptor->JobStatus = QueuedJob::STATUS_INIT;
                $descriptor->write();

                $manager->addTask(new DoormanQueuedJobTask($descriptor));
            }

            sleep(1);

            $descriptor = $this->getNextJobDescriptorWithoutMutex($queue);
        }
    }
public function runQueue ( $ queue ) { // split jobs out into multiple tasks... /** @var ProcessManager $manager */ $ manager = Injector :: inst ( ) -> create ( ProcessManager :: class ) ; $ manager -> setWorker ( BASE_PATH . "/vendor/silverstripe/framework/cli-script.php dev/tasks/ProcessJobQueueChildTask" ) ; $ logPath = Environment :: getEnv ( 'SS_DOORMAN_LOGPATH' ) ; if ( $ logPath ) { $ manager -> setLogPath ( $ logPath ) ; } // Assign default rules $ defaultRules = $ this -> getDefaultRules ( ) ; if ( $ defaultRules ) { foreach ( $ defaultRules as $ rule ) { $ manager -> addRule ( $ rule ) ; } } $ descriptor = $ this -> getNextJobDescriptorWithoutMutex ( $ queue ) ; while ( $ manager -> tick ( ) || $ descriptor ) { $ this -> logDescriptorStatus ( $ descriptor , $ queue ) ; if ( $ descriptor instanceof QueuedJobDescriptor ) { $ descriptor -> JobStatus = QueuedJob :: STATUS_INIT ; $ descriptor -> write ( ) ; $ manager -> addTask ( new DoormanQueuedJobTask ( $ descriptor ) ) ; } sleep ( 1 ) ; $ descriptor = $ this -> getNextJobDescriptorWithoutMutex ( $ queue ) ; } }
Run tasks on the given queue

@param string $queue
Run tasks on the given queue