[]
Wyn 是一个高度可定制的系统,客户可以在系统运行过程中执行一些可执行程序或脚本文件,以完成某些需求。
比如在Wyn 的所有服务启动后,自动注册 Wyn 许可证;在 Wyn 的所有服务启动后,自动刷新不可用的 COT 缓存;在 Wyn 的所有服务停止后备份数据库数据或清理临时文件等等。
接下来为您介绍具体的操作方法。
执行阶段描述了系统生命周期中的某个阶段,一旦系统进入指定阶段,自定义动作就会被执行。
根据目前产品的设计,我们定义了四个阶段来执行自定义操作,它们分别是:BeforeStartingServices、AfterServicesStarted、BeforeStoppingServices和AfterServicesStopped。
“ BeforeStartingServices ”阶段表示Wyn Monitor 服务已准备好启动所有服务。
“ AfterServicesStarted ”阶段表示所有服务都已启动。
“ BeforeStoppingServices ”阶段表示 Wyn Monitor 将在 Wyn Monitor 服务退出之前停止所有服务。
“ AfterServicesStopped ”阶段表示Wyn Monitor 服务在退出前已经终止了所有服务。
各阶段流程图如下图所示:
具体操作方式是将自定义操作添加到配置文件Wyn.conf (存在于目录wyn_installation_path/Monitor/conf/中),从而传递给 Wyn Monitor服务,Wyn Monitor 服务负责执行这些自定义操作。
包含自定义操作的配置文件示例如下所示:
<?xml version="1.0" encoding="utf-8"?>
<SystemConfig xmlns:sys="https://extendedxmlserializer.github.io/system" xmlns="clr-namespace:ConfigMigration.Configuration.V60;assembly=ConfigMigration">
<Version>6.0</Version>
<GlobalSettings>...</GlobalSettings>
<Services>...</Services>
<CustomActions>
<CustomAction>
<Name>testing-action</Name>
<Description>An simple custom action for testing.</Description>
<ExecutionStage>BeforeStartingServices/AfterServicesStarted/BeforeStoppingServices/AfterServicesStopped</ExecutionStage>
<Process>dotnet</Process>
<WorkingDirectory>/var/tmp/testing-action</WorkingDirectory>
<Arguments>/opt/testing-action/testing-action.dll param1 param2 "param 3"</Arguments>
</CustomAction>
</CustomActions>
</SystemConfig>
是以<CustomActions>...</CustomActions> 为标记,其中可包含多个<CustomAction>...</CustomAction>。
以下为两个简单的示例,每个配置文件包含 4 个自定义操作,用于在不同阶段将一些调试日志写入日志文件。请参考。