Windows任务计划程序终止python脚本,操作码2
我有一个Python脚本,它被设计为“永远”运行,在本例中,它将一直运行到每晚午夜后25分钟的下一次预定重启 它所做的是检查时间,然后等待下一个完整的小时。每小时它都会解析网页中的一些数据,将其存储在数据库中,并向外部合作伙伴发送电子邮件 它使用Windows任务调度器在系统引导时启动 它已经运行了几个月了,直到上周日午夜。计算机像往常一样在0:25重新启动。之后,日志显示脚本已启动,然后立即终止,返回操作码2。我想不出有什么改变会导致这种情况,除了某种Windows更新 你知道是什么导致了这种行为吗 这是一个伪代码,消除了所有干扰,脚本将在第一次运行时看到:Windows任务计划程序终止python脚本,操作码2,python,windows,scheduled-tasks,windows-task-scheduler,Python,Windows,Scheduled Tasks,Windows Task Scheduler,我有一个Python脚本,它被设计为“永远”运行,在本例中,它将一直运行到每晚午夜后25分钟的下一次预定重启 它所做的是检查时间,然后等待下一个完整的小时。每小时它都会解析网页中的一些数据,将其存储在数据库中,并向外部合作伙伴发送电子邮件 它使用Windows任务调度器在系统引导时启动 它已经运行了几个月了,直到上周日午夜。计算机像往常一样在0:25重新启动。之后,日志显示脚本已启动,然后立即终止,返回操作码2。我想不出有什么改变会导致这种情况,除了某种Windows更新 你知道是什么导致了这种
scriptRunning = True
timeoutDelay = -1
def getTimeoutDelay(lastFetchTime):
# calculate and return timeout delay in seconds
delay = (60 - int(lastFetchTime.strftime("%M"))) * 60 - int(lastFetchTime.strftime("%S"))
return delay
# end def
while scriptRunning:
if timeoutDelay > -1:
#Do the magic
pass
lastFetchTime = datetime.now()
timeoutDelay = getTimeoutDelay(lastFetchTime)
#endwhile scriptRunning
如果我从命令行手动启动脚本,脚本将按设计运行。您可以将文件放入
启动
文件夹中,该文件夹位于
%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
这就是它通常所在的地方。您也可以在Windows>All Programs>Startup
或者,您可以使用cmd命令创建一个任务来执行特定的任务,例如,您可以在脚本所在文件夹中的cmd提示符中运行此任务
schtasks /create /TN "<name of task>" /SC ONLOGON /TR "%cd%\script.py" /Delay 0001:00
schtasks/create/TN”“/SC ONLOGON/TR“%cd%\script.py”/Delay 0001:00
您可以将文件放在启动
文件夹中,该文件夹位于
%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
这就是它通常所在的地方。您也可以在Windows>All Programs>Startup
或者,您可以使用cmd命令创建一个任务来执行特定的任务,例如,您可以在脚本所在文件夹中的cmd提示符中运行此任务
schtasks /create /TN "<name of task>" /SC ONLOGON /TR "%cd%\script.py" /Delay 0001:00
schtasks/create/TN”“/SC ONLOGON/TR“%cd%\script.py”/Delay 0001:00
这是一个无人值守的系统。该脚本需要在系统启动时启动,然后才能登录。调度器可以很容易地做到这一点。正如我所说,它已经完美地工作了好几个月,直到这个周末。好的,你可以试试ONSTART
标志,而不是ONLOGON
谢谢你的提示。我明天回到现场后再试试。这是一个无人值守的系统。该脚本需要在系统启动时启动,然后才能登录。调度器可以很容易地做到这一点。正如我所说,它已经完美地工作了好几个月,直到这个周末。好的,你可以试试ONSTART
标志,而不是ONLOGON
谢谢你的提示。我明天回到现场后会试试。请显示schtasks/query/tn YOUR_TASK\u NAME/XML
中的XML定义。请显示schtasks/query/tn YOUR_TASK\u NAME/XML
中的XML定义。