WPCOM_VIP_Cache_Manager::execute_purges PHP Method

execute_purges() public method

public execute_purges ( )
    public function execute_purges()
    {
        if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
            return;
        }
        $this->ban_urls = array_unique($this->ban_urls);
        $this->purge_urls = array_unique($this->purge_urls);
        if (empty($this->ban_urls) && empty($this->purge_urls)) {
            return;
        }
        if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
            return;
        }
        /**
         * Before PURGE URLs are assembled for execution.
         *
         * @param array $this->purge_urls {
         *     An array of URLs to be PURGEd
         * }
         */
        do_action('wpcom_vip_cache_pre_execute_purges', $this->purge_urls);
        /**
         * Before BAN requests are assembled for execution.
         *
         * @param array $this->ban_urls {
         *     An array of BAN requests
         * }
         */
        do_action('wpcom_vip_cache_pre_execute_bans', $this->ban_urls);
        $requests = array();
        foreach ((array) $this->ban_urls as $url) {
            $requests = array_merge($requests, $this->build_purge_request($url, 'BAN'));
        }
        foreach ((array) $this->purge_urls as $url) {
            $requests = array_merge($requests, $this->build_purge_request($url, 'PURGE'));
        }
        $this->ban_urls = $this->purge_urls = array();
        if (empty($requests)) {
            return;
        }
        return $this->curl_multi($requests);
    }