Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question]: Concurrency and HTTP API (express) for Carbone #141

Open
mwllgr opened this issue Nov 18, 2021 · 3 comments
Open

[Question]: Concurrency and HTTP API (express) for Carbone #141

mwllgr opened this issue Nov 18, 2021 · 3 comments

Comments

@mwllgr
Copy link

mwllgr commented Nov 18, 2021

Hi, has anyone here ever wrapped Carbone into an API with express?
And how about concurrency: Can Carbon generate e.g. 30 PDFs per second when multiple requests come in?

I've never used node in production so I'm not an expert here.
Would be grateful if someone has an answer! :)

@mwllgr mwllgr changed the title [Question] Concurrency and HTTP API (express) for Carbone [Question]: Concurrency and HTTP API (express) for Carbone Nov 18, 2021
@mwllgr
Copy link
Author

mwllgr commented Nov 23, 2021

Just an update here: I found a repository by @isaudits which seems to be useful: https://github.com/isaudits/docker-carbone - Will look into it.

@loneil
Copy link

loneil commented Nov 24, 2021

It's worth noting that Carbone invokes LibreOffice to do the PDF conversion, so your architecture of how you host/setup Libre is going to be of importance here for high volume use.
https://github.com/carboneio/carbone#pdf-generation-document-conversion

So while Carbone itself is just an NPM package you can include in a node API and all the regular considerations about threading and concurrency in a node/express JS app apply there, how Libre is invoked and resource managed will be the consideration if PDF conversion is done in a render.

@fleebzz
Copy link

fleebzz commented Oct 28, 2024

Hi @mwllgr !

If you're still interested I have a Docker image publicly available I just updated to containerize Carbone and which provides an HTTP API in front of it: fleebzz/carbone.

If you use Node.js you can easily integrate this container with the carbone-connect NPM package

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants