Closed jbogard closed 2 weeks ago
So ModuleFast doesn't have much error correction at the moment. If one of your requests doesn't receive a response, it doesn't attempt a retry, it simply times out, so if your network is not stable then it's not going to be a good solution. I do hope to add some basic retry logic but it's difficult given the optimized task nature and still using PowerShell. Thanks for the report!
fails intermittently locally as well with timeout errors. Is it possible to configure this timeout?
The timeout should be configurable, but also, do you really need the entire Az module for your pipeline? If you choose a subset of modules it'll go way faster.
Yes evidently the consensus on Twitter for the Az module is "don't install that". Dunno why so many tutorials suggested that!
When I just used the modules I actually needed, it went just fine.
@jbogard there is a known issue where the httpclient starts the timer from the point I create the task, and if you're on a slow system downloading a LOT of modules, that task can get "queued" and timeout before it even actually is downloading anything. Haven't found any way in httpclient to fix this directly, but I think the ThrottleLimit
parameter can help.
Started to come across this in my GHA CI pipelines. A quick and dirty fix would be to expose the TimeOut
value as a parameter on Install-ModuleFast
so https://github.com/JustinGrote/ModuleFast/blob/13a69aac16d6a9613dadd504865c185c581a0d71/ModuleFast.psm1#L461 is not hardcoded and we can just increase it a bit.
Going forward a retry mechanism would be great or changing the defaults to the connect operation is 30 seconds but the subsequent reads after the socket is connected being more than 30 seconds might be ideal.
I'm trying to run in Azure DevOps environments and getting frequent timeouts:
The script I'm running:
It fails intermittently locally as well with timeout errors. Is it possible to configure this timeout?