Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Dan 1285 posts 3917 karma points c-trib
    Jun 25, 2012 @ 16:45
    Dan
    0

    Bulk publish thousands of nodes

    Hi,

    I have a site with upwards of 15,000 nodes, split into various folders, mainly alphabetised.  The content for the nodes has been imported using the CMSImport package.  The import process wouldn't run if set to auto-publish nodes, so all of the imported nodes are now in Umbraco, unpublished.  If I try to publish the 'a' folder, for example, which contains say 1000 nodes, it eventually gives a YSOD and only actually publishes the first few tens of nodes.

    I've tried using the content maintenance dashboard package which is nice, but suffers the same problem - if I check hundreds of nodes to be published it times out.  I could publish 20 at a time, but on this scale that's not really a suitable solution.

    So, question is, what's the best way to publish these nodes in bulk?  Is there a config setting somewhere I can change to disable certain non-critical tasks during publish?

    Thanks folks!

  • Douglas Ludlow 210 posts 366 karma points
    Jun 25, 2012 @ 17:06
    Douglas Ludlow
    2

    The YSOD is probably occurring because the request is timing out. To remedy this you could temporarily try increasing the script timeout.

    If you have access to the Web.config, you could add the httpRuntime entry to system.web:

    <system.web>
    <httpRuntime executionTimeout="180"/>
    <system.web>

    The executiuonTimeout is a value in seconds. According to the documentation 110 seconds is the default. You might want to set it to more than 3 minutes (180 seconds) for your case. See http://msdn.microsoft.com/en-us/library/e1f13641.aspx for more details.

    The script timeout can also be set in code by doing the following:

    HttpContext.Current.Server.ScriptTimeout = 180;

    See http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.scripttimeout.aspx for details.

  • Dan 1285 posts 3917 karma points c-trib
    Jun 25, 2012 @ 17:11
    Dan
    0

    Thanks Douglas.  This is indeed an option.  I should have said that I'd prefer to find a way of temporarily disabling non-critical publish tasks though rather than extending time-outs, as I'd prefer to keep it lean if possible.  I seem to recall talk of disabling the Examine indexing or something at some point, which is more the direction I'm looking to take.

  • Douglas Ludlow 210 posts 366 karma points
    Jun 25, 2012 @ 17:33
    Douglas Ludlow
    0

    As far as I know, there isn't any way to speed up the publishing process, aside from removing any packages or dll''s that may subscribe any of the Document BeforePulish or AfterPublish events or any other events involved in the publishing process. I don't know of any magic flag in the configuaration that will turn these off.

Please Sign in or register to post replies

Write your reply to:

Draft