【发布时间】:2017-03-08 22:57:48
【问题描述】:
我在 Windows Server 2012 上有一个程序: - 从同一位置的文本文件中读取 sql 查询 - 从同一位置的文件中导入辅助函数 - 在 sql server 上执行查询(在同一网络中)并保存结果 - 根据结果创建一个 google 电子表格(使用位于同一位置的 API 凭据)
当我登录到服务器并在 cmd: python myscript.py 中执行文件时,一切都很好。但是,当我尝试从任务计划程序中执行相同操作时,它会失败。我收到 0x1 错误。
这是我在调度程序操作中添加的内容:
- 程序/脚本 - 引用了 python.exe 的完整路径(位于 Anaconda 文件夹中)
- 参数 - 引用 myscript.py 的完整路径
- 开始于 - 空白
我已经尝试以我自己、SYSTEM、Administrators 的身份运行它。还尝试了最高权限和用户是否登录选项...还遵循了另一个解决方案,建议运行 cmd 然后“/c python full/path/to/myscript.py” 但它总是一样的。
这很令人沮丧。我意识到这不是严格意义上的编码相关问题,但我相信很多 python 程序员都有它。
【问题讨论】:
-
请向我们展示一些代码、日志摘录或任何有助于诊断问题的内容。
-
@Maurice 谢谢。我不认为这是一个编码问题,因为它在手动运行时可以正常工作......当调度程序运行它时,在任务历史记录中它说它已成功完成(带有 0x1 消息)并且没有感叹号会暗示不同的问题.你指的是这些日志吗?我只是判断它不成功,因为没有预期的结果。
-
您是否勾选/勾选了“无论用户是否登录都运行”?
-
是否可以将对 python 的调用放在 Anaconda 文件夹中的 .bat 文件中并在那里进行测试,然后将调度程序的“编辑操作”标记为“开始于”同一个 Anaconda 文件夹?
-
我不是说把你所有的 Python 脚本都移到 Anaconda 中,只是为了尝试从那里执行一个 .ps1 或一个 .bat 来消除由于以下原因而可能出现的问题那里的模块不可用等。然后将 'Edit' 设置为 'Start in' Anaconda,运行 .ps1 或 .bat 文件,它应该在与执行时相同的环境中。 Python 将从 .ps1 或 .bat 执行。
标签: python python-3.x scheduled-tasks