Jump to content

Admin execution timeout & filecompiler


Recommended Posts

I have quite the pickle. 

The admin no matter where I am at in it, times out constantly. I either get a 504 gateway or and execution timeout. I am banging my head why its across the board. The frontend of the site works great.

The site does have a lot of pages, 164,889 to be exact.  Most of that is due to image pages created by media manager and having repeater matrix installed which is used on most of the pages. For some reason, if I can manage  click the "Clear file compiler" without it timing out, the site perks back up and I can access the admin again and it is quite speedy. However if I walk away leaving the browser sitting for about an hour and come back, I have to start the process all over again.

The site has 52 various fields. Not every field is assigned to every template. a lot of the fields are used by the matrix to create a page builder.

I can't accept that PW can't handle such. I have other sites that run triple the amount of pages, but don't rely on the matrix to build the layout.

I have disabled any custom module that I thought could possibly cause an issue. I have overwrote every module and the wire core thinking something may have got corrupted. I guess my next step is starting with a fresh install, but I thought I would reach out to see if I am missing something. 

Some background on pages:

All the pages are imported using the command line which bootstraps PW and uses the api. This is a dev site, so I blow away the pages if I need to reimport them, until I get it correct.

PW Version 3.0.172, PHP 7.3, Innodb 5.7.27-30.

I appreciate any suggestions or thoughts. 

Screen Shot 2021-02-13 at 8.37.48 AM.png


Screen Shot 2021-02-13 at 9.00.38 AM.png


Screen Shot 2021-02-13 at 4.33.21 PM.png

Link to comment
Share on other sites


Thanks for the suggestion. Bumping up the execution time is only a short term solution. I need to figure out why its crashing the entire admin. I am having a hard time believing PW can't handle this data load. Not to mention the site is only going to grow in pages, so I need to ensure it will scale. My fear is that it maybe related to the Repeater Matrix or repeaters overall, but I just don't know yet.

Does anyone know if the admin pages are cached? It is strange to me that sometimes I can get it to work, then others it just times out. My next steps are to blow away all the data and try to piece my import in and see where the bottle neck occurs. 

Link to comment
Share on other sites

4 hours ago, RyanJ said:

Repeater Matrix

Since you are using ProFields, have you thought of asking Ryan for help? (Provided you currently have an active license, of course). Anyway, I do not think the number of pages and fields are causing the issue. You should not blame the system for this, as it it highly unlikely that the system itself is the root of the cause.

Link to comment
Share on other sites

Hi @szabesz

Thanks for checking back in. No, I have not. I want to determine that is the cause before reaching out to Ryan. I would agree with you and would be surprised that the number of pages is the issue. I can't rule anything out at this time.

 There is no blaming the system, I am just trying to determine the issue. I am curious if the admin pages are cached at any point.

Link to comment
Share on other sites

  • 4 weeks later...

Just in case anyone else runs across this topic. I finally found the culprit. It was the Seo Maestro module which was trying to generate a sitemap. Reading the docs (which I apparently overlooked) states that this could be an issue on large sites. 

I ended up bootstrapping the module to render the sitemap, so it has no affect on the cms side of things. Great module by the @Wanze


  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ErikMH
      So, if I do this right at the top of a template PHP file:
      <?php namespace ProcessWire; function myFunction() { global $config; echo $config->dateFormat; }; ?> I, predictably, get this in my front end (once I figured out about the necessary global $config; line):
      Y-m-d H:i:s Happy camper. But if I try to access $session variables in the same way:
      <?php namespace ProcessWire; function myFunction() { global $session; echo $session->future; }; ?> I’m told there is no $session object; it responds exactly as if I hadn’t included the global $session statement:
      PHP Notice: Trying to get property 'future' of non-object in .../public/site/templates/home.php:5 I thought the problem might conceivably have to do with my private variables, so I tried the provided hasCookie() method:
      <?php namespace ProcessWire; function myFunction() { global $session; print_r($session->hasCookie()); }; ?> With essentially the same result:
      Error Call to a member function hasCookie() on null $session variables and methods are fully accessible and work exactly as expected if placed immediately outside of myFunction().
      I am rapidly running out of hair. Is this intentional? Or a bug? Can anyone confirm that they see this behavior? Can anyone think of a workaround? Thanks!
      ProcessWire: 3.0.179
      PHP: 7.4.19
    • By dfile
      I am running ProcessWire 3.0.165 but $input->urlSegmentLast or $input->urlSegment(-1) does not work as expected.
      Or do I something wrong?
      Thank you.

    • By bramwolf
      Hi Guys,

      I found here: https://processwire.com/docs/selectors/#finding2 that I can exclude results from my $pages->find($selctor); query by using parent!=123 ( parent ID ) But I was wondering if I can
      also do so based on the parent template? I've tried doing it by itterating over the matches array and dropping the matches with the parent but since the result is limited for use with the paginator
      it only drops the items from the batch displayed on this page. Say from the results within matches 0 - 20 and not the entire 0 - 220.

      Anybody have a idea of how to achieve this? 🙂

      Thanks in advace!
    • By LAPS
      I've pages using the custom-page-template and I would like to display a simple message at the top of the page form when editing those pages in the Admin.
      I thought about hooking ProcessPageEdit::buildForm() but I do not well how to use that hook in order to display the message just for the custom-page-template pages.
      Any help?
      UPDATE: Solution found
      wire()->addHookAfter('ProcessPageEdit::buildForm', function(HookEvent $event) { $ProcessPageEdit = $event->object; $form = $event->arguments('form'); switch ($ProcessPageEdit->getPage()->template->name) { case 'custom-page-template': $form->prependMarkup("<div style='margin-bottom: 3.6em; margin-top: 1em; background: #ffd;'>MY MESSAGE</div>"); break; default: // do nothing } }); Any improvement is welcome!
    • By Sten
      Sorry I can't find any submit button to save my configuration on a template in the admin interface. The file is fine.
  • Create New...