Browse Source

Add logging of pip update in updates

pull/121/head
Ionite 1 year ago
parent
commit
f9a5f8ab3d
No known key found for this signature in database
  1. 16
      StabilityMatrix.Core/Python/PyVenvRunner.cs

16
StabilityMatrix.Core/Python/PyVenvRunner.cs

@ -201,16 +201,13 @@ public class PyVenvRunner : IDisposable, IAsyncDisposable
// Record output for errors // Record output for errors
var output = new StringBuilder(); var output = new StringBuilder();
var outputAction = var outputAction = new Action<ProcessOutput>(s =>
outputDataReceived == null
? null
: new Action<ProcessOutput>(s =>
{ {
Logger.Debug($"Pip output: {s.Text}"); Logger.Debug($"Pip output: {s.Text}");
// Record to output // Record to output
output.Append(s.Text); output.Append(s.Text);
// Forward to callback // Forward to callback
outputDataReceived(s); outputDataReceived?.Invoke(s);
}); });
SetPyvenvCfg(PyRunner.PythonDir); SetPyvenvCfg(PyRunner.PythonDir);
@ -427,10 +424,19 @@ public class PyVenvRunner : IDisposable, IAsyncDisposable
if (Process is { HasExited: false }) if (Process is { HasExited: false })
{ {
Process.Kill(); Process.Kill();
try
{
await Process await Process
.WaitForExitAsync(new CancellationTokenSource(1000).Token) .WaitForExitAsync(new CancellationTokenSource(1000).Token)
.ConfigureAwait(false); .ConfigureAwait(false);
} }
catch (OperationCanceledException e)
{
Logger.Error(e, "Venv Process did not exit in time in DisposeAsync");
Process.CancelStreamReaders();
}
}
Process = null; Process = null;
GC.SuppressFinalize(this); GC.SuppressFinalize(this);

Loading…
Cancel
Save