服务器不会运行这部分 Python 代码



我们有一个python脚本服务器,那里已经有很多脚本在运行,但由于某种原因,有一个代码无法运行,这是因为这一部分:

def getData(ico):
url = "https://www.mojedatovaschranka.cz/sds/ws/call"
headers = {'Content-Type':'application/xml'}
data = """
<GetInfoRequest xmlns="http://seznam.gov.cz/ovm/ws/v1">
<Ico>{}</Ico>
</GetInfoRequest>
""".format(ico)
response = requests.post(url, headers=headers, data=data)
#print(response.status_code)
#print(response.text)
data = xmltodict.parse(response.content)
#print(data)
return data

for它是所有法律主题的一些数据的官方api,并不重要。我们搞不清楚,这个环节出了什么问题。

API调用还有其他代码,所以没有问题,服务器无法发送它们。

此外,我们还安装了最新的python 7.3.1。

所有的库都已安装并由其他脚本使用。

这是我们得到的唯一消息:任务调度器成功完成任务"\Python\API_数据盒",实例";{0b448401-dedd-4cbc-9200-8addd409dfcf}",动作";C: \Windows\SYSTEM32\cmd.exe"返回代码为2147942401。

而且它在我的电脑上运行正常。

所以我的问题是,有人知道什么可以解决这个问题吗;t运行此特定代码吗?其他类似的代码运行良好。

也许这是一个很长的机会,但我在尝试以另一个用户的身份使用任务调度程序执行一个简单的.bat文件时收到了确切的错误消息。。。。

该脚本调用了带有一些选项的.exe。

它手动启动良好,但任务失败且失败。在处理完任务调度程序中的程序、参数和起始字段后,我将.bat移到了与我一起运行任务的用户的其他文档文件夹中。尝试使用作为该帐户启动的cmd运行它。你猜怎么着,它找不到exe。。。

最后,我意识到任务调度程序和其他帐户不知道.exe的位置。将它复制到脚本所在的位置,它终于正确运行了。希望这能有所帮助;(

尝试从正在运行的任务的上下文进行测试,而不是从登录的用户进行测试。您可以将getData函数返回的输出或由此产生的异常写入如下的文本文件:

try:
x = getData("valid input data for website")
with open('py_log.txt', 'w') as f:
f.write("Function ran without exception, it returned:n")
f.write(str(x))
except Exception as e:
with open('py_log.txt', 'w') as f:        
if 'x' in globals():
f.write("Function threw an exception, it returnedn")
f.write(str(x))
f.write("Reported exceptionn")
f.write(str(e))    

最新更新