Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows任务计划程序终止python脚本,操作码2_Python_Windows_Scheduled Tasks_Windows Task Scheduler - Fatal编程技术网

Windows任务计划程序终止python脚本,操作码2

Windows任务计划程序终止python脚本,操作码2,python,windows,scheduled-tasks,windows-task-scheduler,Python,Windows,Scheduled Tasks,Windows Task Scheduler,我有一个Python脚本,它被设计为“永远”运行,在本例中,它将一直运行到每晚午夜后25分钟的下一次预定重启 它所做的是检查时间,然后等待下一个完整的小时。每小时它都会解析网页中的一些数据,将其存储在数据库中,并向外部合作伙伴发送电子邮件 它使用Windows任务调度器在系统引导时启动 它已经运行了几个月了,直到上周日午夜。计算机像往常一样在0:25重新启动。之后,日志显示脚本已启动,然后立即终止,返回操作码2。我想不出有什么改变会导致这种情况,除了某种Windows更新 你知道是什么导致了这种

我有一个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定义。