修复 Bug

This commit is contained in:
2026-01-17 13:13:17 +08:00
parent a27045e0a0
commit 8482996a94
10 changed files with 177 additions and 59 deletions

View File

@@ -1,5 +1,6 @@
using Ayay.SerilogLogs;
using Serilog;
using System.Threading.Tasks;
namespace SHH.CameraSdk;
@@ -94,11 +95,19 @@ public class ProcessingPipeline
// 异步遍历队列:收到取消信号时退出循环
await foreach (var task in _queue.Reader.ReadAllAsync(_cts.Token))
{
// 使用 using 语句:处理完成后自动调用 Frame.Dispose(),引用计数-1
using (task.Frame)
try
{
// 执行具体的帧处理逻辑
ExecuteProcessing(task);
// 使用 using 语句:处理完成后自动调用 Frame.Dispose(),引用计数-1
using (task.Frame)
{
// 执行具体的帧处理逻辑
ExecuteProcessing(task);
}
}
catch (Exception ex)
{
// Optimized: [原因] 捕获任务级的异常,防止单帧处理失败导致整个后台处理循环终止
_sysLog.Error(ex, "[Pipeline] 关键任务执行异常 (DeviceId: {DeviceId})", task.DeviceId);
}
}
}