修复 Bug
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user