我有一个Python脚本,旨在运行" forever&#34 ;,在这种情况下,直到每天晚上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
如果我手动从命令行启动脚本,脚本似乎按设计运行。
答案 0 :(得分:0)
您可以将文件放在位于
的Startup
文件夹中
%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