GithubHelp home page GithubHelp logo

Comments (10)

jonathon2nd avatar jonathon2nd commented on June 22, 2024

Screenshot from 2024-06-03 13-13-01
PDF also times out

from bookstack.

ssddanbrown avatar ssddanbrown commented on June 22, 2024

Hi @jonathon2nd,
Exports can take a while if there's a lot of content, and sometimes in rare cases specific content can trip up the exports system and cause more work than expected to be done.
Really, this is the kind of thing I'd need to replicate with the same content to actually testing.

Do other books in the system also time-out, even if simple?
You could maybe clone the book and delete parts of it to help identify if it's mainly down to a specific page or collection of pages.

from bookstack.

M0n7y5 avatar M0n7y5 commented on June 22, 2024

Check your logs ... you may need to change memory limits or execution timeout in php.ini

from bookstack.

jonathon2nd avatar jonathon2nd commented on June 22, 2024

@M0n7y5 Both had already increased. I am now running into Cloudflare timeout. No errors in container logs.

@ssddanbrown We have no other books that have the timeout. Once the book is split up, we will export each one and see if it is a problem because of content type, not necessarily the size of the book.

The txt download is ~533kB
The md download is ~775kB

from bookstack.

jonathon2nd avatar jonathon2nd commented on June 22, 2024

The book has been refactored, still failing to export to html in 1 minute

txt export size: ~150kB
md export size: ~250kB

Able to export each page individually
image

from bookstack.

M0n7y5 avatar M0n7y5 commented on June 22, 2024

You need to tell cloudflare to wait longer for server to respond. Cloudflare thinks server is down while your book is converting to PDF.

from bookstack.

M0n7y5 avatar M0n7y5 commented on June 22, 2024

Also one page taking 120MB is crazy ... What kind of content do you have on your pages?

from bookstack.

jonathon2nd avatar jonathon2nd commented on June 22, 2024

Lots of photos.

Whats strange is that those couple of huge individual pages take no more then ~3 seconds. Most others were instant. So not sure why the book export explodes.

from bookstack.

ssddanbrown avatar ssddanbrown commented on June 22, 2024

Yeah, 120MB is super high. If the pages are exporting quick, might indicate hitting some kind of memory limit or exhaustion, or just that HTML is just too large to be handling without problems.
There might be a more efficient way for us to do the embed/parsing (placeholder then simple string replacements at the end) but at those kinds of sizes, I'd be surpised if there are not other issues that pop up anyway.
The formats we produce aren't really great for high-image/data content tbh.

from bookstack.

M0n7y5 avatar M0n7y5 commented on June 22, 2024

The issue here is that parsing HTML takes a lot of memory and converting it to PDF is CPU intensive task because all of this is done in old PHP library. PHP itself is just slow. I solved my issue by using https://gotenberg.dev/ and overriding the PDF Export. It also solves a lot of weird issues with some Unicode stuff. It uses headless Chrome under the hood.

from bookstack.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.