Error when getting lock for parse

I keep getting errors when getting locks for my parse file, and when submitting it. It is a large parse file, so it takes a while:

    Fatal error: Maximum execution time of 30 seconds exceeded in /usr/share/php/DB/pgsql.php on line 291



Is there somewhere I should change this to higher than 30 sec?

putting an override in main.inc may work, but increasing it (to unlimited, possibly) in php.ini is better


You should change it in php.ini. :)

When I do this do I have to restart apache? Or will the change be immediate?

I would suggest you try small time increments like changing to 60 second timeouts. Also you will require a restart of apache (from memory) for this to take effect.

-=A=-

[quote]I would suggest you try small time increments like changing to 60 second timeouts. Also you will require a restart of apache (from memory) for this to take effect.


-=A=-[/quote]



4 months later…



So, what happens to my parse file when it does time out? Does it get partially saved? Because it seems like everything is there and saved, even if it times out.


How many customisations do you have? When you submit a parse file, Matrix has to generate the design_file.php for the Design and all the customisations. If it times out, it means that some of the customisations will not have a complete design_file.php, so they will not be using the latest design.

Your only options are:

  • create a new Design asset and move some customisations.
    [*]Reduce the number of customisations and/or design areas
    [*]Increased the allowed PHP execution time and memory so that it all parses

[quote]How many customisations do you have? When you submit a parse file, Matrix has to generate the design_file.php for the Design and all the customisations. If it times out, it means that some of the customisations will not have a complete design_file.php, so they will not be using the latest design.


Your only options are:


  • create a new Design asset and move some customisations.
    [*]Reduce the number of customisations and/or design areas
    [*]Increased the allowed PHP execution time and memory so that it all parses
[/quote]

Well, you might scold me for how many customizations we have. :) We have 60. This being that each department that we have has a separate page header and sub navigation on a certain level.

I increased the php execution time, and it works fine now.

Page header can be done with a single nested Related Asset Listing instead of a customisation. Explain more about what the sub-navigation options are. Perhaps there is a way to free you from the bondage of customisationhood.

Well, I think that we almost exhausted this subject in past topics, but here we go.

We have many, many departments on campus. Academic Departments, and non-academic. Most of these departments have many sub pages so we wanted the navigation to start at the root of THAT department and display the children for that site. Most parts of our side will expand 2 levels, but when you click on that 2nd level, it will take you into that site, and have that 2nd level root at the subnav root. For this we have multiple levels of customizations, so that under academics there is a sub customization, which cascades its settings to the lower customizations that need that same subnav settings.

[attachment=280:1.jpg]
[attachment=281:2.jpg]

The problem of the header is also fixed with customizations. I had tried your solution before of nesting a related asset listing but it did not seem like a good solution to scale over hundreds or thousands of pages. Before if I remember, the solution was to have a page that was related to the nested listing, which would then print the asset name. But this was a pain because it has to be linked under every tree level, and it made our structure look really bad and bloated. Unless there was a way to use a paint layout in this, I cannot see this solution working for us.

As it is we are getting closer to being done with the site, so I don't want to take the time to make huge changes, but at the same time I worry that we will hit the point of getting a white screen because of too many customizations.

Maybe you might want to take a peek at our system and see how I have configured it. I just don't want to over step the bounds of questions asked on the forums, and questions that should be taken up with support.

Thanks Avi. 1.jpg (129 KB) 2.jpg (98.8 KB)

You’re right, we have discussed this. I just get confused between all the sites and I never remember who’s doing what these days. :)’ /> I’m also beginning to use sIFR as a header replacement. That way, I can pull values from the page and get Flash to replace it with fancier text. It is also very accessible. <img src=‘http://forums.matrix.squiz.net/public/style_emoticons/<#EMO_DIR#>/smile.gif’ class=‘bbc_emoticon’ alt=’:slight_smile:


Designs are the oldest code in Matrix, so they are one of those things that you either work with, or around. In your case, you may want to create a new Design with exactly the same parsefile, link all the same associated files and start customising it instead. Yes, you’ll have duplication, but at least you’ll lower your risk of having to keep bumping up the execution time on PHP.



Alternatively, there is all a “system_parse_designs.php” script on the server that you can use to reparse all your customisations, btw. You can save the parsefile in the Admin Interface and wait for the white screen of execution death. Then, switch to an SSH prompt and run the script to reparse all the customisations. The first thing the Admin Interface does is save the new parsefile, so the script will then manually reparse from that. Tedious, yes, but it means you can keep a single Design asset and keep customising it.

[quote]You’re right, we have discussed this. I just get confused between all the sites and I never remember who’s doing what these days. :)’ /> I’m also beginning to use sIFR as a header replacement. That way, I can pull values from the page and get Flash to replace it with fancier text. It is also very accessible. <img src=‘http://forums.matrix.squiz.net/public/style_emoticons/<#EMO_DIR#>/smile.gif’ class=‘bbc_emoticon’ alt=’:slight_smile:


Designs are the oldest code in Matrix, so they are one of those things that you either work with, or around. In your case, you may want to create a new Design with exactly the same parsefile, link all the same associated files and start customising it instead. Yes, you’ll have duplication, but at least you’ll lower your risk of having to keep bumping up the execution time on PHP.



Alternatively, there is all a “system_parse_designs.php” script on the server that you can use to reparse all your customisations, btw. You can save the parsefile in the Admin Interface and wait for the white screen of execution death. Then, switch to an SSH prompt and run the script to reparse all the customisations. The first thing the Admin Interface does is save the new parsefile, so the script will then manually reparse from that. Tedious, yes, but it means you can keep a single Design asset and keep customising it.[/quote]



If at all possible, I would like to stay within one design file. It is a challenge, but now that I use matrix, I hate the thought of having to duplicate information!! I guess maybe I should know a little more about where this limitation lies with customizations. Is it really only with the execution time of php, or is it a memory issue we could run into? And is the white screen that I have encountered the one you are speaking of? I am just wondering if it is that big of a deal to up the execution time and have lots of customizations, it works for us, as long as it does not somehow kill the server.


It's both, depending on which wall you hit first, really. If you hit a white screen when parsing, you need to check the error.log to see if the process ran out of execution time or memory and adjust your PHP settings to increase it.