[]
        
在线Demo 免费试用
(Showing Draft Content)

在系统运行过程中执行自定义操作

1. 概述

1.1 功能概述

Wyn 是一个高度可定制的系统,客户可以在系统运行过程中执行一些可执行程序或脚本文件,以完成某些需求。

比如在Wyn 的所有服务启动后,自动注册 Wyn 许可证;在 Wyn 的所有服务启动后,自动刷新不可用的缓存;在 Wyn 的所有服务停止后备份数据库数据或清理临时文件等等。

接下来为您介绍具体的操作方法(集群版专用)。

2. 操作说明

执行阶段描述了系统生命周期中的某个阶段,一旦系统进入指定阶段,自定义动作就会被执行。根据目前产品的设计,我们定义了四个阶段来执行自定义操作,它们分别是:BeforeStartingServicesAfterServicesStartedBeforeStoppingServicesAfterServicesStopped

  1. BeforeStartingServices ”阶段表示Wyn Monitor 服务已准备好启动所有服务。

  2. AfterServicesStarted ”阶段表示所有服务都已启动。

  3. BeforeStoppingServices ”阶段表示 Wyn Monitor 将在 Wyn Monitor 服务退出之前停止所有服务。

  4. AfterServicesStopped ”阶段表示Wyn Monitor 服务在退出前已经终止了所有服务。

各阶段流程图如下图所示:

e37f38cb-87e3-4d50-b780-69633841ac9e.png

3. 具体操作

  1. 具体操作方式是将自定义操作添加到配置文件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 &quot;param 3&quot;</Arguments>
        </CustomAction>
      </CustomActions>
    </SystemConfig>

    是以<CustomActions>...\</CustomActions> 为标记,其中可包含多个<CustomAction>...\</CustomAction>

4. 示例

  1. 以下为两个简单的示例,每个配置文件包含 4 个自定义操作,用于在不同阶段将一些调试日志写入日志文件。请参考: