场景:由于网络波动原因导致云数据库没连接上,从而导致某个流程引擎链接不上数据库从而导致该流程引擎服务挂了,网络恢复后 数据库链接正常,但是该引擎服务还是中止状态。
解决方案:在Windows中新建一个定时任务,写一个脚本 去监测流程引擎服务是否停止,如果停止则启动该服务。 时间间隔 10分钟一次 每天扫描。
本文以
Windows Server 2019
操作系统为例进行配置,其他版本系统可能界面稍有差异,但配置方式一样
1.打开任务计划程序
1. 搜索打开
也有更加快捷的方式,通过CMD打开即可:(补充下面快捷打开计算机管理的方式)这种方式通过命令行运行计算机管理。按键盘上的Windows键+R键打开"运行"对话框。键入"compmgmt.msc",然后单击"确定"打开"计算机管理"控制台。
2. 打开后的界面
3. 编写bat脚本
bash
tasklist |findstr /i "HostServer" || net start "Host Server"
该脚本意思:查询服务里是否有HostServer 如果没有则启动Host Server服务
4. 配置任务计划程序
Windows中通过任务计划程序定时执行bat脚本_windows 定时执行bat-CSDN博客
界面配置参考该文章,但是我觉得该过程比较麻烦,我用的是CMD一次性解决,命令如下:
前提:编写updatestatus.bat脚本 放在磁盘文件夹中,脚本内容在上面
bash
schtasks /create /tn "k2DailyTask" /tr "C:\temp\updatestatus.bat" /sc daily /st 13:45 /ri 1 /du "24:00" /mo 1 /f /ru SYSTEM
解释每个参数的作用(这个命令将会以管理员权限创建一个名为 DailyTask 的定时任务,任务将会从每天下午 2 点开始执行,并且每1分钟执行一次。请确保将 C:\path\to\MyScript.bat 替换为您实际的脚本文件路径。):
- /create: 创建任务的参数。
- /tn "DailyTask": 指定任务名称为 DailyTask,您可以根据需要修改。
- /tr "C:\path\to\MyScript.bat": 指定要运行的脚本文件的路径。
- /sc daily: 指定任务的调度频率为每天。
- /st 14:00: 指定任务的开始时间为下午 2 点。
- /ri 1: 指定重复间隔为 1 分钟,因为您希望每一分钟执行一次。
- /mo 1: 指定任务的重复间隔为 1 天。
- /f: 强制创建任务,如果同名任务已存在则覆盖。
- /ru SYSTEM: 以系统权限(管理员权限)运行任务
CMD 选择管理员打开,执行该命令 就会成功创建一个定时任务了,这个时候打开界面查看该定时任务即可。
配置一下该项,用最高权限执行该定时任务,其它都无需配置 定时任务即可成功执行。