Forums / Developer / Static Cache generation with HTTP Error

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 !

eZ debug

Timing: Jan 18 2025 11:34:47
Script start
Timing: Jan 18 2025 11:34:47
Module start 'content'
Timing: Jan 18 2025 11:34:47
Module end 'content'
Timing: Jan 18 2025 11:34:48
Script end

Main resources:

Total runtime0.9037 sec
Peak memory usage4,096.0000 KB
Database Queries200

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0068 587.8281180.8281
Module start 'content' 0.00680.7624 768.6563580.8438
Module end 'content' 0.76930.1343 1,349.5000337.3828
Script end 0.9036  1,686.8828 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00380.4241210.0002
Check MTime0.00140.1570210.0001
Mysql Total
Database connection0.00090.101510.0009
Mysqli_queries0.821990.94532000.0041
Looping result0.00220.24791980.0000
Template Total0.871396.420.4356
Template load0.00200.217320.0010
Template processing0.869396.197020.4347
Template load and register function0.00010.011710.0001
states
state_id_array0.00140.149910.0014
state_identifier_array0.00080.092120.0004
Override
Cache load0.00160.1822340.0000
Sytem overhead
Fetch class attribute can translate value0.00140.154330.0005
Fetch class attribute name0.00140.152370.0002
XML
Image XML parsing0.00120.133330.0004
class_abstraction
Instantiating content class attribute0.00000.0023100.0000
General
dbfile0.00370.4067340.0001
String conversion0.00000.000930.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

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
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 25
 Number of unique templates used: 7

Time used to render debug report: 0.0001 secs