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

Ability to run http probes concurrently to decrease build time #711

Open
tylersalminen opened this issue Sep 1, 2024 · 3 comments
Open

Comments

@tylersalminen
Copy link

The ability to run http probes concurrently (up to a defined number of requests) could greatly decrease the build time -- especially when probing IO bound features of an application in an image. It appears that only the http probe crawler feature has such a concurrency feature.

@kcq
Copy link
Member

kcq commented Sep 2, 2024

@tylersalminen what kind of application do you have? What's your tech stack? What's IO bound in your application? It should be possible to have a basic version of it, --http-probe-concurrency, to get started. Later the custom problem will also need concurrency groups to make sure certain calls happen after certain conditions happen or after certain calls (e.g., a probe that deletes a record should happen after a call that creates that record).

@tylersalminen
Copy link
Author

The application is an in house built web app / platform for hosting custom finance applications at the company I work for. So pretty much most of the applications functionality is io bound (ie forwarding network calls to various databases and services and maybe a little processing on the web app to provide some functionality our underlying services do not).

One particular set of probes I currently do to build our image involves probing our automation / jobs feature that allows users to export pages / reports to pdf and excel with triggers / schedules. This utilizes a large number of libraries as well as an actual headless chrome browser to provide the report generation. Probing these features are particularly io bound, ie each individual http call to these features can wait for lots of serially dependent network calls to our backend services in order to generate the report.

My particular probes are not dependent on each other so establishing dependencies between them is not a problem for my particular use case but I do understand your point.

@kcq
Copy link
Member

kcq commented Sep 2, 2024

Thank you for the context @tylersalminen ! Very useful!

What language do you use in your app? JavaScript/TypeScript/node? Python? Which web/api framework do you use?

Is it an SPA or similar app (e.g., Next.js)? How dynamic is your web app? Do you have a lot of static resource and/or templates your browser side app loads at runtime?

P.S.
--http-probe-concurrency is on its way... and it'll be in the next release :-)

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

2 participants