试图监控 filemaker
Trying to monitor filemaker
所以我正在尝试监控我的 filemaker 无限循环脚本是否 运行。什么是最好的方法?
我注意到 filemaker 在后台脚本运行时不会生成新进程,因此检查进程或线程可能是不可能的。
我目前的解决方案包括在 Filemaker 客户端中检查 UI 的 "Script paused" sub-window,这有点不稳定。有没有更好的检查方法。 Filemaker 似乎不支持此类检查。
Filemaker 版本:14.0 专业版
编辑:也许,我应该更清楚。我正在尝试通过 zabbix 等监控工具对此进行监控。所以我有一个检查 filemaker 的外部 (powershell) 脚本。
如果您坚持继续使用无限循环的脚本,我会按照以下方式指示该脚本在 FileMaker 13+ 中 运行ning:
- 每次循环执行时,将全局变量更新为当前时间戳(
Set Variable [ $$_LAST_LOOP_EXECUTED ; Get ( CurrentTimestamp ) ]
)。
- 在布局中添加一些文本。文本是最近执行脚本循环时将要显示的内容。
- 编辑 "Hide object when" 计算(位于“信息”面板的 "Data" 选项卡上)以读取如下内容:
Get ( CurrentTimestamp ) - $$_LAST_LOOP_EXECUTED > 60
。这假设如果全局变量在过去一分钟内没有更新,则脚本不正在执行。
如果您至少未使用 FileMaker 13,完成此操作会稍微复杂一些,但可以使用条件格式。
以上所有内容都是一个解决方法,因为一旦您启动脚本,因为它被设计为始终 运行,您可以在它暂停时单击 "Cancel" 按钮来停止它,这意味着脚本不能执行任何清理,例如清除全局变量。我没有尝试过我上面描述的技术,但我的猜测是隐藏属性的计算不会不断更新。它可能只会在重新绘制布局时更新,例如移动到不同的记录。
话虽如此,还是有更好的方法让脚本定期执行。
- FileMaker Server 可以按计划执行脚本。实际上,我自己使用此功能从包含从 PostgreSQL 下载的数据的文本文件中导入数据。
- FileMaker 10+ 有一个名为
Install OnTimer Script
的脚本步骤,它将在指定的秒数后执行脚本。
这种类型的脚本最好放在服务器上,但由于 Actual 适配器,这可能是不可能的。如果是这样,那么我建议调查 Install OnTimer Script
步骤。
所以我正在尝试监控我的 filemaker 无限循环脚本是否 运行。什么是最好的方法?
我注意到 filemaker 在后台脚本运行时不会生成新进程,因此检查进程或线程可能是不可能的。
我目前的解决方案包括在 Filemaker 客户端中检查 UI 的 "Script paused" sub-window,这有点不稳定。有没有更好的检查方法。 Filemaker 似乎不支持此类检查。
Filemaker 版本:14.0 专业版
编辑:也许,我应该更清楚。我正在尝试通过 zabbix 等监控工具对此进行监控。所以我有一个检查 filemaker 的外部 (powershell) 脚本。
如果您坚持继续使用无限循环的脚本,我会按照以下方式指示该脚本在 FileMaker 13+ 中 运行ning:
- 每次循环执行时,将全局变量更新为当前时间戳(
Set Variable [ $$_LAST_LOOP_EXECUTED ; Get ( CurrentTimestamp ) ]
)。 - 在布局中添加一些文本。文本是最近执行脚本循环时将要显示的内容。
- 编辑 "Hide object when" 计算(位于“信息”面板的 "Data" 选项卡上)以读取如下内容:
Get ( CurrentTimestamp ) - $$_LAST_LOOP_EXECUTED > 60
。这假设如果全局变量在过去一分钟内没有更新,则脚本不正在执行。
如果您至少未使用 FileMaker 13,完成此操作会稍微复杂一些,但可以使用条件格式。
以上所有内容都是一个解决方法,因为一旦您启动脚本,因为它被设计为始终 运行,您可以在它暂停时单击 "Cancel" 按钮来停止它,这意味着脚本不能执行任何清理,例如清除全局变量。我没有尝试过我上面描述的技术,但我的猜测是隐藏属性的计算不会不断更新。它可能只会在重新绘制布局时更新,例如移动到不同的记录。
话虽如此,还是有更好的方法让脚本定期执行。
- FileMaker Server 可以按计划执行脚本。实际上,我自己使用此功能从包含从 PostgreSQL 下载的数据的文本文件中导入数据。
- FileMaker 10+ 有一个名为
Install OnTimer Script
的脚本步骤,它将在指定的秒数后执行脚本。
这种类型的脚本最好放在服务器上,但由于 Actual 适配器,这可能是不可能的。如果是这样,那么我建议调查 Install OnTimer Script
步骤。