【问题标题】:Windows Task Scheduler, python script, code 2147942401Windows 任务计划程序,python 脚本,代码 2147942401
【发布时间】:2017-01-04 19:26:40
【问题描述】:

在为 python 脚本调度任务时遇到了一些奇怪的问题。具体来说,这个脚本和问题是断断续续的,这让我很犹豫提出这个问题,因为我很困惑。我还有其他运行良好的预定脚本。这是唯一一个修改 SQLite 数据库的。

我每天都调用脚本,我已经通过多种方式完成了此操作,结果相同。我最终选择了 Action "start a program",Program/script: "python"(它在我的路径中,但我也直接调用了 py.exe 和 pyw.exe,结果相同)。添加参数:“scriptname.py”。从我在调度程序中使用的帐户具有完全读/写/执行访问权限的“脚本和数据库文件的位置”开始。而且我已经指示无论用户是否登录,它都能正常工作。

我对其他几个脚本使用相同的操作,它们很好,这个有时不起作用。它总是运行,但每隔几天它就会以代码 2147942401 而不是 0 退出。这几天数据库没有更新,所以我想它写起来有困难?我不知道。 windows中的这个错误代码似乎与无效功能有关,但我可以手动运行脚本,一切都很好。一半天(不完全是一半,似乎是随机的),它不起作用。这直到大约 3 周前才发生。我所知道的没有任何改变,几个月来一切都运行良好,然后 bam,退出代码 2147942401。它连续几天这样做,然后几天没有问题。手动运行任务(或脚本)永远不会有问题。它设置为以最高权限运行。

有人见过这样的吗?

【问题讨论】:

  • 该错误代码向我表明您的 Python 脚本正在以错误代码 1 退出。您的 Python 脚本是否将任何日志消息、错误消息等写入任何地方的日志?如果没有,那将是接下来要做的事情。
  • 我可以向它添加一些日志记录。它手动运行良好。所以脚本中没有错误,只是偶尔可能无法写入数据库?我将修改脚本以编写自己的日志并查看它是否无法完成。谢谢!

标签: python sqlite task scheduler exit


【解决方案1】:

原来是我的剧本坏了。这是当您的 python 程序以代码 -1 结尾(未正确完成或有一些未处理的异常退出)时得到的错误代码(奇怪的是没有太多文档)。这是间歇性的,因为我正在检查一个网页,有时该网络服务器由于任何原因没有响应。留在这里留给后人。如果您在任务调度程序中收到此错误代码,请将一些日志记录和错误处理写入您的脚本,因为这可能是您没有想到的奇怪问题。

【讨论】:

  • 很高兴听到您了解了这一切。
  • 这不是 Python 错误。它是一个 Windows 任务计划程序代码。
  • 我没有说这是 python 错误。虽然,python造成了它。 Python 没有处理这个错误,所以我在任务计划程序中得到了这个错误。我只是想弄清楚为什么脚本自己运行得很好。我需要在 Python 中更好地处理错误。
【解决方案2】:

我在这里遇到同样的错误,但不知道如何调试它。

【讨论】:

  • 请发送更多关于您系统中发生的事情的详细信息。你有日志要分享吗?也许程序由于异常而崩溃。获得更多信息以帮助解决此调度程序问题会很有用。
  • 为什么在静默模式下运行时会崩溃,而通过 Python.exe 运行时却不会?不幸的是,除了说与海报相同的代码外,没有可用的日志。基本上我想做的是每 5 分钟在网上抓取一次新的待售商品
  • 你需要在你的 python 代码中添加很多日志。这个错误不是任务调度程序,但对我来说基本上是我的脚本中间歇性地没有响应的服务器。如果我有更好的记录,我会抓住它。这个错误实际上只是“你的 python 代码死了”。只是没有很好的记录。
  • 是的,我还没有达到那个水平。我知道从 python.exe 运行时,python 代码本身就可以工作。以静默模式 (pyhtonw) 运行它会有什么不同?
  • 对不起,我错过了。不确定你的情况。您需要使用日志记录模块并将详细的响应和异常捕获发送到文件。您的 python 脚本正在某个地方获取此代码。我真的无法帮助您弄清楚如何/为什么。这就是调试和 try/except 命令的用途。这不是任务调度程序。您的代码在 python 中失败(或解释器由于某种原因失败)。错误只是传递给任务调度程序。
猜你喜欢
  • 1970-01-01
  • 2017-03-17
  • 2012-02-26
  • 2018-06-28
  • 2017-04-19
  • 2018-01-11
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
相关资源
最近更新 更多