-
-
Notifications
You must be signed in to change notification settings - Fork 126
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
eventcatalog build timeout with large amount of domains/events/services #459
Comments
Interesting issue, never seen this before, but never tried so many events etc. Interesting idea from the NextJS docs. https://nextjs.org/docs/messages/page-data-collection-timeout,`Increase the timeout by changing the config.staticPageGenerationTimeout configuration option (default 60 in seconds).` wonder if this can help. In the
To see if this helps? |
Good news: Thanks for this amazing tool 🤘 I was looking for it for years! Bad news: I'm having the same issue. I'm trying to migrate from our custom solution to document events and currently I ended up with the following structure
Each of the domains has the following structure (auto-generated via a script):
When I'm starting a build, it fails on timeout with the following error:
The only stable build I was able to produce is:
(407 static pages in total, there were also lots of warning about exceeding the 128 Kb threshold and performance degradation) Without defining domains, I can create the full list of events and services (825 static pages in total) Your suggestion did help, but the process was extremely slow - about 50 minutes (~10 for collecting data and ~20 for generating static pages (1303 in total), whereas the last 150 pages took ~20 minutes) . There were also lots or errors: Failed to get service by name, and warnings about exceeding the 128 Kb threshold). I will check my script to ensure there are no broken paths or names but it's pretty strange that 800+ pages were generated in ~2 minutes, and 1300 made my Mac an airplane for 50 minutes :) Generation detailsinfo - Generating static pages (1303/1303)info - Finalizing page optimization Route (pages) Size First Load JS
My env:
The related thread in Discord (There are also some suggestions to enhance config capabilities) |
@bandantonio did you manage to solve this or implement a workaround!? thanks in advance |
@imrafaelmerino Nope, I postponed integration with EventCatalog due to this limitation. As I mentioned, in my setup, one of the possible workarounds was not to use (define) domains. In this way, everything worked and the generation process was reasonably fast. The workaround mentioned by @boyney123 did help a bit but the problem is that the |
@bandantonio Thanks for the quick replay. Sitting tight for version 2! |
Hey Yeah sorry about that, I need a better test for loads more domains and events. Part of v2 I have used a new file system libary which hopefully speeds things up. The problem is, is everything is build time and the more pages = more load time..... I often think about what if we moved to server side rendering, this would allow us to render on the fly and have less build times ofc, but would require EventCatalog to be run on a server somewhere rather than static files. A few folks still want static rendered catalogs, so I'm hesitant to move to server side rendering, but it does open the door to better integrations in the future.... Although I imagine it's annoying, I do appreciate the patience while I look at this too. I'm hoping soon I get to work more on EC.....! Watch this space. |
Have you read the Contributing Guidelines on issues?
Description
I am testing eventcatalog with a few hundreds Kafka topics and 20/30 applications.
I define a domain and a service per application. And attach each topic as event to the corresponding domain/application.
When I build with
npm build
for such setup, the build fails due to timeout.Defining the same services into the root folder (not within any domain) allows the build to complete successfully. However, that means the application serice is no more attached to its domain/application.
How can I manage the timeout so that I can build with my expected setup ?
Steps to reproduce
npm run build
Expected behavior
Build completed and ability to launch with
npm start
.Actual behavior
Your environment
EventCatalog version used: 1.1.0
Environment name and version (e.g. Chrome 89, Node.js 16.4): Firefox 102.12.0esr (32-bit), Node.js 21.1.0
Operating system and version (e.g. Ubuntu 20.04.2 LTS): WSL2, Ubuntu 22.04.3 LTS
The text was updated successfully, but these errors were encountered: