爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • TaskRunner帮助主页
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
      • 1. 设置
      • 2. Cmd批处理
      • 3. PowerShell 批处理
      • 4. JScript/PascalScript 任务
      • 5. 运行工作流
      • 6. 在JS程序中使用MQTT
      • 7. 运行Python任务
    • Python说明
    • 自定程序
    • 公共单元
    • 工作流
    • 运行卫士
    • 自定报表
    • 自动化作业
    • 控件使用
    • 函数程序

  • 开发手册

目录

MQTT说明

# TaskRunner MQTT说明

  TaskRunner 支持通过MQTT协议传输运行指令。在使用MQTT的相关功能前,需要先设置MQTT的选项。

# 1. 设置

  首先点击菜单栏中的 [服务] - [停止服务] 停止TaskRunner服务,点击 [工具] - [设置] 菜单栏,在MQTT选项中配置连接的MQTT服务器信息。参考以下图示中的配置进行设置,点击 [确定] 按钮。

  此处我们设置主题与客户端ID均为 TaskRunner,下面的示例以配置为例。

# 2. Cmd批处理

  以下是通过直接执行的方式运行批处理的示例。可调用批处理语句执行程序重启。在已连接至同一MQTT服务器的其它客户端,向 TaskRunner 主题发布以下消息:

{"action":"script","syntaxtype":"cmd","script":"taskkill /im TARS.exe /f & ping 127.0.0.1 -n 1 & start \"\" \"C:\\Program Files\\IsoFace\\TARS\\TARS.exe\" "}
1

  除上述方式外,也支持直接执行自定程序列表中批处理类型的自定程序。在自定程序列表中创建 tars 的cmd类型自定程序,设计程序内容如下。

echo
:结束进程
taskkill /im TARS.exe /f
:执行下一步骤前等待1秒
ping 127.0.0.1 -n 1
start "" "C:\Program Files\IsoFace\TARS\TARS.exe"
echo
1
2
3
4
5
6
7

  在已连接至同一MQTT服务器的其它客户端,向 TaskRunner 主题发布以下消息,实现批处理的相关功能。

{"action":"script","taskname":"tars"}
1

# 3. PowerShell 批处理

  以下是通过直接执行的方式运行批处理的示例。可调用批处理语句执行程序重启。

{"action":"script","syntaxtype":"powershell","script":"$directory = \"E:\\setup\";$filename = \"test.txt\";$content = \"hello world\";$filePath = Join-Path -Path $directory -ChildPath $filename;if (-not (Test-Path -Path $directory)) {New-Item -ItemType Directory -Path $directory};Set-Content -Path $filePath -Value $content;Write-Output \"file created:$filePath\";"}
1

  除上述方式外,也支持直接执行自定程序列表中批处理类型的自定程序。在自定程序列表中创建 ps_test 的PowerShell类型自定程序,设计程序内容如下。

# 指定目录位置
$directory = "E:\setup"
# 指定文件名
$filename = "test.txt"
# 指定文件内容
$content = "hello world"
# 创建完整的文件路径
$filePath = Join-Path -Path $directory -ChildPath $filename
# 创建目录(如果不存在)
if (-not (Test-Path -Path $directory)) {
    New-Item -ItemType Directory -Path $directory
}
# 创建并写入文件内容
Set-Content -Path $filePath -Value $content
# 输出文件创建成功消息
Write-Output "file created:$filePath"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

  在已连接至同一MQTT服务器的其它客户端,向 TaskRunner 主题发布以下消息,实现批处理的相关功能。

{"action":"script","taskname":"ps_test"}
1

# 4. JScript/PascalScript 任务

  JScript/PascalScript任务支持执行自定程序列表中类型为 JScript与 PascalScript 的自定程序。

{"action":"script","syntaxtype":"jscript","script":"{DoOpenBrowser(\"chrome.exe\",\"--kiosk https://www.isoface.cn \",0);}"}
1

  除上述方式外,也支持执行自定程序列表中类型为 JScript 的自定程序。创建一个名为 browser ,类型为JScript自定程序,内容如下。

//调用Chrome浏览器打开https://www.isoface.cn/网页
{
  DoOpenBrowser("chrome.exe","--kiosk https://www.isoface.cn",0);
}
1
2
3
4

  在已连接至同一MQTT服务器的其它客户端,向 TaskRunner 主题发布以下消息,实现打开网页的功能。

{"action":"script","taskname":"browser"}
1

  如果要使用自定参数,比如上述示例我们需要定义 url 参数,根据传递的参数打开指定页面。则 JScript 可改写如下,将需要参数化的变量取值替换为 UgParams.Values["param_name"]:

{
  DoOpenBrowser("chrome.exe","--kiosk " + UgParams.Values["url"],0);
}
1
2
3

  如程序与参数直接通过json传入,直接调用的用法如下:

{
  "action": "script",
  "syntaxtype": "jscript",
  "script": "{DoOpenBrowser(\"chrome.exe\",\"--kiosk \" + UgParams.Values[\"url\"],0);}",
  "params":[{"name":"url","value":"https://www.isoface.cn"}]
}
1
2
3
4
5
6

  在已连接至同一MQTT服务器的其它客户端,向 TaskRunner 主题发布以下消息,实现打开自定参数页面的功能。

{"action":"script","taskname":"browser","params":[{"name":"url","value":"https://www.isoface.cn"}]}
1

  使用参数的json新增了 params 队列,可在其中根据参数需要修改取值。

{
  "action": "script",
  "taskname": "task_name",
  "params": [
    {
      "name": "param_name1",
      "value": "param_value1"
    },
    {
      "name": "param_name2",
      "value": "param_value2"
    },
    ...
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 5. 运行工作流

  使用MQTT客户端向TaskRunner的订阅主题发送以下格式的信息,以执行工作流。

{"action":"workflow","name":"test_wf"}
1

  如果需要从呼叫中获取参数作为工作流的变量取值使用,则发送的格式如下:

{"action":"workflow","name":"test_wf","params":[{"name":"Var1","value":"111"}]}
1

# 6. 在JS程序中使用MQTT

  如需要在JS自定程序中使用MQTT功能,可参考自定函数与自定程序中的函数、程序说明使用。

  • MQTTClient_Publish:发布MQTT 订阅消息。

# 7. 运行Python任务

  使用MQTT客户端向TaskRunner的订阅主题发送以下格式的信息,以添加Python运行任务。

{
  "action": "pythonscript",
  "pyid": "{pyid}",
  "varname": "{varname}",
  "varvalue": "{varvalue}"
}
1
2
3
4
5
6

  其中 {pyid} 为预设资料(资料类型为python)的编号。{varname} 为python输入变量的名称。{varvalue} 为python输入变量的的取值。

  这个接口的作用是从预设资料的Python脚本中创建运行任务,排入运行队列中,运行队列中的任务会按照请求的先后顺序依次进行执行。

WebSocket说明
Python说明

← WebSocket说明 Python说明→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式