22
schangxiang@126.com
2025-04-29 511aad18a7bf95510f65d083be69a834fb668105
22
已修改2个文件
46 ■■■■ 文件已修改
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/CMS.Plugin.PipeLineLems.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/CMS.Plugin.PipeLineLems.csproj
@@ -12,12 +12,12 @@
    <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
        <CMSRootPath>D:\Program Files\CMS Editor</CMSRootPath>
        <OutputPath>$(CMSRootPath)\plugins\cms.plugin.messuite</OutputPath>
        <OutputPath>$(CMSRootPath)\plugins\cms.plugin.pipelinelems</OutputPath>
    </PropertyGroup>
    <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('OSX'))">
        <CMSRootPath>/Volumes/SSD/CMS Editor</CMSRootPath>
        <OutputPath>$(CMSRootPath)\plugins\cms.plugin.messuite</OutputPath>
        <OutputPath>$(CMSRootPath)\plugins\cms.plugin.pipelinelems</OutputPath>
    </PropertyGroup>
    <ItemGroup>
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
@@ -154,7 +154,7 @@
                    _ = Task.Run(async () =>
                    {
                        await HanlderForPringBarCodeAsync();
                        //await HanlderForPringBarCodeAsync();
                        // 例1:同步处理
                        //await ProcessAsync();
@@ -163,29 +163,29 @@
                    });
                }
                if (changed.Name == "切割进站信号" && changed.New?.Value.SafeString().ToBool() == true)
                {
                //if (changed.Name == "切割进站信号" && changed.New?.Value.SafeString().ToBool() == true)
                //{
                    // TODO: 处理变量值变化
                    // Tips:https://cms-docs.shengyc.com/cms/api/%E5%90%8E%E7%AB%AF#3-%E5%8F%98%E9%87%8F%E6%A8%A1%E5%9D%97
                    /* 说明:通过订阅 IVariableDataCache.TagChanged 事件,您可以实时监控变量的变化。此事件会传递所有变量至事件处理函数,因此,业务层需在函数中筛选关注的变量。
                        注意事项:
                        (1)性能影响: 发布事件时,事件的发送者将阻塞流程。因此,强烈建议避免在事件处理函数中执行 I/ O 操作、HTTP 接口访问或其他耗时操作,以防止对系统性能产生严重影响,导致整个系统响应延迟。
                        (2)高频率触发: 由于事件订阅了全量变量,触发频率可能非常高。
                        (3)异步处理: 鉴于事件触发频率很高,建议业务层在筛选关注变量后,使用 Task 启动新线程处理业务逻辑,以避免阻塞核心的变量监听功能,实现业务层与平台基座的解耦。
                        (4)并发管理: 如果业务层并发量大,必须优化代码设计和实施,以减少在高并发情况下的系统资源消耗,防止系统性能问题。
                        (5)代码安全: 安装并使用 CMS.CodeAnalysis 分析器来分析 IVariableDataCache.TagChanged 的使用情况。该工具能在使用不当时提供编译错误,帮助您提高代码质量。*/
                //    // TODO: 处理变量值变化
                //    // Tips:https://cms-docs.shengyc.com/cms/api/%E5%90%8E%E7%AB%AF#3-%E5%8F%98%E9%87%8F%E6%A8%A1%E5%9D%97
                //    /* 说明:通过订阅 IVariableDataCache.TagChanged 事件,您可以实时监控变量的变化。此事件会传递所有变量至事件处理函数,因此,业务层需在函数中筛选关注的变量。
                //        注意事项:
                //        (1)性能影响: 发布事件时,事件的发送者将阻塞流程。因此,强烈建议避免在事件处理函数中执行 I/ O 操作、HTTP 接口访问或其他耗时操作,以防止对系统性能产生严重影响,导致整个系统响应延迟。
                //        (2)高频率触发: 由于事件订阅了全量变量,触发频率可能非常高。
                //        (3)异步处理: 鉴于事件触发频率很高,建议业务层在筛选关注变量后,使用 Task 启动新线程处理业务逻辑,以避免阻塞核心的变量监听功能,实现业务层与平台基座的解耦。
                //        (4)并发管理: 如果业务层并发量大,必须优化代码设计和实施,以减少在高并发情况下的系统资源消耗,防止系统性能问题。
                //        (5)代码安全: 安装并使用 CMS.CodeAnalysis 分析器来分析 IVariableDataCache.TagChanged 的使用情况。该工具能在使用不当时提供编译错误,帮助您提高代码质量。*/
                    _ = Task.Run(async () =>
                    {
                        await HanlderForCutAsync();
                        // 例1:同步处理
                        //await ProcessAsync();
                //    _ = Task.Run(async () =>
                //    {
                //        await HanlderForCutAsync();
                //        // 例1:同步处理
                //        //await ProcessAsync();
                        // 例2:调用外部API
                        //await ExecuteExternalApiAsync();
                    });
                }
                //        // 例2:调用外部API
                //        //await ExecuteExternalApiAsync();
                //    });
                //}
            }
        }