User Tools

Site Tools


Recaching

Recache managed from administrator browser

Recache Items opens page Recache Control in new browser window with possibility to start/stop and adjust recaching of site pages. To each recache action belongs one form (tab) on the page. This presentation of recache actions is dependable on number of enabled JotCache recache plugins (in plugin group 'jotcacheplugins').

With JotCache are provided three recache plugins :

  • Recache - performs recache for all pages which are stored in jotcache database table also for those which are expired. Recache scope can be limited with search filter, component filter, view filter on the JotCache Management View page.
  • Crawler - performs recache of site pages starting with homepage and continuing with pages linked on homepage, then taking links on linked pages to recache related pages and so forth. The recache process stops on last page which is found by crawler in given crawl depth counting from homepage level. The Crawler is using transversal crawling algorithm which presents faster overall processing time but it cannot satisfy that all pages for given depth are recached.
  • Crawlerext - Crawler Extended is using other algorithm for site crawling as previous described Crawler. This crawler visits all pages for given level depth but is slightly slower as previous one.

While the recache process is running in local browser thread it can be substantial limited with site server settings as well as settings of any proxy server in load chain. Here provided methods can be used for recache of limited number of pages (usually up to hundred).

For larger extent of recached pages use cron job controlled recache.

Recache operation

Generally recaching consist from two steps :

1 Setting conditions for current run - choice of setting parameters depends on used JotCache recache plugin

2 Start/stop recaching - click on common execution buttons controlling recache run


Recache plugin

Basic conditions for recaching are derived from Management view immediatelly before clicking on button Recache Items. When no selection is performed than all pages stored in database table jotcache shall be selected for recache (take care for the note on top this page!). Narrower selection can be done in following manner :

  • item selection with checkbox in each table row
  • page selection with search
  • page selection with Component and/or View and/or Mark filters

For these types of selections is still possibility to change scope of pages to ALL or to make larger selection with checkboxes (1).


Crawler plugin

Here is only one simple setting - the crawl depth. Start with lower number setting to see how long recaching on such level takes process time. Then you can adjust higher crawl depth.


Crawlerext plugin

Here is only one simple setting - the crawl depth. Start with lower number setting to see how long recaching on such level takes process time. Then you can adjust higher crawl depth.


Browser recache limitations

As already here noted the recache process is running in local browser thread and therefore it can be substantial limited with site server settings as well as settings of any proxy server in load chain.

When you see no change in number of cached pages on status line showing recache progress then recaching is somewhere limited.

In such case at first try to change Recache run timeout JotCache component option to higher number :

But mostly limitation is performed with server settings.

You should consult with your hosting company to find out how they've configured mod_fcgi timeouts; open a support ticket with them to ask, particularly since they may automatically kill long-running scripts. It's unlikely they'll allow a PHP script to run that long in a shared hosting environment.

Also, if the browser's connection is left idle for too long, the connection might be dropped by your router or the router at your hosting provider.

Possible changes on site server :

  1. either in PHP's php.ini file using max_execution_time = 60 (if your server configuration allows you to use a php.ini file)
  2. .htaccess file using php_value max_execution_time 60
  3. on Zend Server (ver.5.x+) can be assigned higher value in …/ZendServer/etc/ZendEnablerConf.xml in Timeouts part :
<Timeouts connectionTimeout="60" requestTimeout="120" />

Check that whether your hosting server is running in safe mode. When the server is in safe mode you can't change 'the maximum execution time'.

Possible check

Put following code in your top of your page :

echo "maximum execution time is ".ini_get('max_execution_time');

It is always a good idea to test your ini_set command on a blank page like this:

ini_set('max_execution_time', 1200);
echo ini_get('max_execution_time');

If the above code works fine and echoes 1200 then you are in good shape. Go ahead and use ini_set. If not, then you'll have to figure out what is preventing ini_set to kick in.