• 从命令行启动EasySQLMAIL中的信息推送任务


    想在自己写的Windows批处理命令(BAT程序)中启动EasySQLMAIL中的任务,可以实现吗?

    EasySQLMAIL从1.0.1213版本开始提供了从命令行启动信息发布任务的功能。本文向您介绍如何在命令行中执行信息发布任务。

    01  在任务配置中启用“允许从DOS命令行中启动此任务”选项

    为了能够从命令行启动指定的任务,管理员需要先在EasySQLMAIL的任务配置界面中启用指定任务的“允许从DOS命令行中启动此任务”选项。

     02  在命令行中启动任务您可以在Windows命令行中通过如下命令启动要执行的任务。

    sqlmail.exe 204 要执行的任务ID

    其中,sqlmail.exe的位置在EasySQLMAIL安装目录下的bin目录中。命令的第一个参数"204"表示启动一个任务,第二个参数是要启动的任务ID。任务ID可以在任务管理界面中查询到。

     例如,要在命令行中启动上面截图中的ID为12的任务时,可以用如下命令:

    sqlmail.exe 204 12
    

    03 命令执行后,会返回以下代码:

    0      任务实例已生成。(注意:返回0只表示任务实例已经生成,并不代表信息推送任务已经执行成功。任务实例还要由EasySQLMAIL调度后才能执行)
    991  执行命令失败。查询任务控制服务日志了解详细原因。
    992  版本不支持此功能。请检查您使用的EasySQLMAIL版本是否支持此特性。
    993  发送命令失败,主程序可能未启动。请检查EasySQLMAIL系统是否启动。
    994  任务ID不存在。请检查任务ID是否正确。
    995  任务已被管理员停用,不能执行。
    996  生成任务实例时失败。请查询任务控制服务日志了解详细原因。
    997  任务配置不允许从命令行启动此任务。
    您可以在调用sqlmail.exe后通过Windows命令行的%errorlevel%变量获得命令的返回代码。  

    04  应用案例

    下面的代码可以在Windows批处理文件中对指定的IP地址进行PING测试,如果测试失败,就调用EasySQLMAIL中的任务向管理员发送提示邮件。

    @ECHO OFF
    REM 此演示中对IP地址进行PING测试,如果不通,就调用EasySQLMAIL中的ID为14的信息推送任务向管理员发送提示邮件
    SET IP=192.168.100.1
    ping -n 1 %IP% | find "TTL="
    if %ERRORLEVEL% EQU 0 goto SUCCEED
    ECHO PING不通

    REM 这里调用EasySQLMAIL中的ID为14的信息推送任务向管理员发送提示邮件
    F:\EasySQLMAIL\bin\sqlmail.exe 204 14 GOTO END
    :SUCCEED
    ECHO PING通了
    :END

      


    05  需要注意的问题

    (1)通过命令行启动任务时,EasySQLMAIL系统必须正在运行,否则任务无法启动。

    (2)命令执行时,生成任务实例后会立即返回,不会等待任务执行完成后再返回。因此命令返回0时只表示生成任务实例成功,并不代表任务已执行成功。

  • 相关阅读:
    【14】算法 (哈希)
    【1】c++11 智能指针
    【13】算法 (平衡二叉树AVL、红黑色RBT、B+树、B-树详解)
    JavaScript 基础四
    JavaScript 基础三
    JavaScript 基础二
    遍历数组,对象和JSON
    创建对象的两种方式
    CSS3动画旋转——(图片360°旋转)
    产品运营和数据分析
  • 原文地址:https://www.cnblogs.com/flyingpigacc/p/16205560.html
Copyright © 2020-2023  润新知