Is it possible to get the functionality of ExclusivelyUsesAttribute but for building a project rather than running tests? The summary is that we have a build task that runs to precompile views (using this library) but I'm beginning to suspect it doesn't like being run for multiple projects at the same time. So what I'm after is a way to tell my grid node to only build this particular project one at a time for each of the clients.
Build/Test Issues
ExclusivelyUses functionality when building
Started by MatthewSteeples on 1,898 views
Remco NCrunch Developer
#14461
21 Feb 2020 23:05 UTC
We don't presently have any feature in NCrunch that allows you to manage the concurrency of the project build or analysis tasks.
Generally when this sort of problem appears the approach we usually take is to try and find a way to fix the build so that concurrency is not an issue. How critical is this particular build step? Is disabling it an option?
Generally when this sort of problem appears the approach we usually take is to try and find a way to fix the build so that concurrency is not an issue. How critical is this particular build step? Is disabling it an option?
Remco wrote:How critical is this particular build step? Is disabling it an option?
It's not a "step" as such, as it integrates as a Target with msbuild. It does spawn a third party process though (which is where I suspect the problem we experience comes from). We do run most of the time with it disabled, but we would like to enable it because the step is basically to compile all of our views to see if there are any build errors. Because it's very CPU intensive, we only want our GridNodes to do it.
Remco NCrunch Developer
#14464
21 Feb 2020 23:12 UTC
Is there perhaps an option to include the tool inside your project space so it gets copied to the workspace and doesn't clash with itself? Sorry I'm just trying to help fish for ideas.
Appreciate the thoughts. I've not investigated that thoroughly, but the project ships as a NuGet package so "comes with the source" effectively. I'm not sure what you mean by "project space" in this context.
One thing we've considered (as the project is open source) is creating our own mini fork with a mutex on load so it only runs once per machine. That's the best I've managed to come up with currently.
One thing we've considered (as the project is open source) is creating our own mini fork with a mutex on load so it only runs once per machine. That's the best I've managed to come up with currently.
Post a reply
Log in to reply.