步骤1:我有5个C#程序在星期五晚上使用任务计划程序运行。如果所有运行成功,我将更新SQL SERVER数据库中的状态表,其中程序名称(全部以NAMESEARCH开头)已完成运行状态= 1。如果有异常,我使用programname和Status = 0更新Status表。
Create table Run_Status(ProgramName varchar(500) not null, Status int not null);
在第2步:写一个bat文件来运行C#程序(Name.exe) 我的c#程序执行此操作:我检查Run_Status表,如果'NAMESEARCH%'等程序名的计数为5.然后检查是否所有Status = 1然后继续其他处理
我的问题:如何编写一个每小时运行一次的bat文件,直到“NAMESEARCH%”之类的程序名计数为5,或者换句话说,Step1已完成。
这就是我在bat文件中的全部内容
@ECHO OFF
SET Header=-----------------------------------------------------
start "" "C:\Projects\Name\Name\bin\Debug\Name.exe"
echo %ERRORLEVEL%
if %ERRORLEVEL% NEQ 0 (
echo %header%
Echo There has been an error.
echo.
pause
goto end)
if %ERRORLEVEL% EQU 1 (
ECHO Success
goto end
}
:end
REM ----------------------------------------------------------------
echo %header%
echo END
REM cd ..
感谢 [R
答案 0 :(得分:0)
您是否考虑过使用Jenkins为您运行这些工作?
詹金斯是免费的(如啤酒),有很多插件可以让你的生活更轻松。虽然它被标记为CI服务器,但它可以使用计划或触发器自动执行任何类型的批处理命令。 您可以按顺序运行批处理命令,报告错误或没有错误。詹金斯可以根据工作结果生成电子邮件或做其他事情。具体回答你的问题:我会在jenkins中创建2个作业,第一个在一小时内执行一个Windows批处理,检查你想要的SQL结果,第二个是你提到的其他处理。
设置第二个作业由第一个作业成功完成触发。
相信我, Jenkins很容易使用。我一直在寻找新的东西,这样可以让我的生活更轻松。
想在早上5点开启你的咖啡机,并在准备好后收到消息吗?在Raspberry Pi和IFTTT的帮助下,Jenkins也可以做到这一点。