phpbb\cron\task\text_reparser\reparser::run PHP Method

run() public method

public run ( )
    public function run()
    {
        if ($this->reparse_lock->acquire()) {
            if ($this->resume_data === null) {
                $this->resume_data = $this->reparser_manager->get_resume_data($this->reparser_name);
            }
            /**
             * @var \phpbb\textreparser\reparser_interface $reparser
             */
            $reparser = $this->reparsers[$this->reparser_name];
            $min = isset($this->resume_data['range-min']) ? $this->resume_data['range-min'] : self::MIN;
            $current = isset($this->resume_data['range-max']) ? $this->resume_data['range-max'] : $reparser->get_max_id();
            $size = isset($this->resume_data['range-size']) ? $this->resume_data['range-size'] : self::SIZE;
            if ($current >= $min) {
                $start = max($min, $current + 1 - $size);
                $end = max($min, $current);
                $reparser->reparse_range($start, $end);
                $this->reparser_manager->update_resume_data($this->reparser_name, $min, $start - 1, $size);
            }
            $this->config->set($this->reparser_name . '_last_cron', time());
            $this->reparse_lock->release();
        }
    }