Static Cache generation with HTTP Error

Author Message

Jérôme Vieilledent

Friday 06 February 2009 3:06:15 am

Hi

I would like to know if there is way to avoid static cache generation when an HTTP error has been encountered.
Indeed, I have to make eZPublish send an HTTP error code 500 when a PHP fatal error occurs (I can do that with <i>eZExecution::addFatalErrorHandler()</i>), but I wan't to force the static cache not to generate the static file if it encounters such error code.
It seems to be possible with CURL with <b> CURLOPT_FAILONERROR</b> option, but the only thing I see is to hack <b>eZHTTPTool::getDataByURL()</b> method, adding :

curl_setopt( $ch, CURLOPT_FAILONERROR, 1 );


even if <b>$justCheckURL</b> is <i>false</i>

Or maybe there is another cleaner way to do this ?

Damien Pobel

Saturday 07 February 2009 2:36:50 am

Hi,

For me, it's a real issue, perhaps you can create an issue in the issue tracker ?

Currently you need to hack the kernel to solve it, or perhaps if you use eZ Publish 4, you can play with the autoload system to put you're modified version of the eZHTTPTool class in an extension so that it is loaded instead of the default one.

Damien
Planet eZ Publish.fr : http://www.planet-ezpublish.fr
Certification : http://auth.ez.no/certification/verify/372448
Publications about eZ Publish : http://pwet.fr/tags/keywords/weblog/ez_publish

Jérôme Vieilledent

Saturday 07 February 2009 2:57:02 am

Hi Damien

I'll post an issue in the issue tracker.
For the moment I'll hack the eZHTTPTool class to do what I want. The kernel classes override is a feature in the <i>ezpgenerateautoload.php</i> script (-o option) since 4.1 which is not stable yet and I need it for a project in production (4.0.1)...

Thanks

[Edit] : The posted issue : http://issues.ez.no/IssueView.php?Id=14421&activeItem=1

Damien Pobel

Saturday 07 February 2009 4:12:48 am

Re,

<i>For the moment I'll hack the eZHTTPTool class to do what I want. The kernel classes override is a feature in the ezpgenerateautoload.php script (-o option) since 4.1 which is not stable yet and I need it for a project in production (4.0.1)...</i>

that's true, but there's a workaround with eZ Publish 4.0 you can do the same by hand, just remove the eZHTTPTool related line in autoload/ezp_kernel.php and add a new one with your own class in autoload/ezp_extension.php. After that, to not erase your modification, you have to regenerate the autoload array with the following command line :

php bin/php/ezpgenerateautoloads.php -e

Damien
Planet eZ Publish.fr : http://www.planet-ezpublish.fr
Certification : http://auth.ez.no/certification/verify/372448
Publications about eZ Publish : http://pwet.fr/tags/keywords/weblog/ez_publish

Jérôme Vieilledent

Saturday 07 February 2009 4:19:24 am

Thanks for the hint !

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 31 2025 01:25:14
Script start
Timing: Jan 31 2025 01:25:14
Module start 'layout'
Timing: Jan 31 2025 01:25:14
Module start 'content'
Timing: Jan 31 2025 01:25:15
Module end 'content'
Timing: Jan 31 2025 01:25:15
Script end

Main resources:

Total runtime0.7596 sec
Peak memory usage8,192.0000 KB
Database Queries63

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0043 588.2500151.2266
Module start 'layout' 0.00430.0033 739.4766220.7188
Module start 'content' 0.00760.7510 960.19534,483.2109
Module end 'content' 0.75860.0010 5,443.406315.8281
Script end 0.7596  5,459.2344 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00350.4579160.0002
Check MTime0.00130.1701160.0001
Mysql Total
Database connection0.00060.082810.0006
Mysqli_queries0.663287.3060630.0105
Looping result0.00060.0788610.0000
Template Total0.708593.320.3542
Template load0.00200.261220.0010
Template processing0.706592.998520.3532
Template load and register function0.00160.206110.0016
states
state_id_array0.00250.326510.0025
state_identifier_array0.00200.262820.0010
Override
Cache load0.00170.2195340.0000
Sytem overhead
Fetch class attribute can translate value0.00200.260920.0010
Fetch class attribute name0.00230.305170.0003
XML
Image XML parsing0.00370.482520.0018
class_abstraction
Instantiating content class attribute0.00000.0034100.0000
General
dbfile0.00430.5685230.0002
String conversion0.00000.000540.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
5content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
5content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
8content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
2content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 25
 Number of unique templates used: 7

Time used to render debug report: 0.0003 secs