You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ReadMe.md
+13Lines changed: 13 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1338,10 +1338,23 @@ attempt the invocation 3 times.
1338
1338
1339
1339
If this value is negative, the library creates new NodeJS processes indefinitely.
1340
1340
1341
+
By default, process retries are disabled for invocation failures caused by javascript errors. See `OutOfProcessNodeJSServiceOptions.EnableProcessRetriesForJavascriptErrors` for more information.
1342
+
1341
1343
If the module source of an invocation is an unseekable stream, the invocation is not retried.
1342
1344
If you require retries for such streams, copy their contents to a `MemoryStream`.
Process retries were introduced to deal with process-level issues. For example, when a NodeJS process becomes unresponsive the only solution is to start a new process.
1354
+
1355
+
If this value is `true`, process retries also occur on Javascript errors. If it is `false`, they only occur for process-level issues.
privatereadonlyConcurrentDictionary<Task,object?>_trackedInvokeTasks;// TODO use ConcurrentSet when it's available - https://github.com/dotnet/runtime/issues/16443
Copy file name to clipboardExpand all lines: src/NodeJS/NodeJSServiceImplementations/OutOfProcess/OutOfProcessNodeJSServiceOptions.cs
+9Lines changed: 9 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -32,12 +32,21 @@ public class OutOfProcessNodeJSServiceOptions
32
32
/// If it fails, it retries the invocation once. If it fails again, the library creates a new process that retries the invocation once. In total, the library
33
33
/// attempt the invocation 3 times.</para>
34
34
/// <para>If this value is negative, the library creates new NodeJS processes indefinitely.</para>
35
+
/// <para>By default, process retries are disabled for invocation failures caused by javascript errors. See <see cref="EnableProcessRetriesForJavascriptErrors"/> for more information.</para>
35
36
/// <para>If the module source of an invocation is an unseekable stream, the invocation is not retried.
36
37
/// If you require retries for such streams, copy their contents to a <see cref="MemoryStream"/>.</para>
37
38
/// <para>Defaults to 1.</para>
38
39
/// </remarks>
39
40
publicintNumProcessRetries{get;set;}=1;
40
41
42
+
/// <summary>Whether invocation failures caused by Javascript errors are retried in new processes.</summary>
43
+
/// <remarks>
44
+
/// <para>Process retries were introduced to deal with process-level issues. For example, when a NodeJS process becomes unresponsive the only solution is to start a new process.</para>
45
+
/// <para>If this value is <c>true</c>, process retries also occur on Javascript errors. If it is <c>false</c>, they only occur for process-level issues.</para>
0 commit comments