pynetdicom 无法与 Windows 任务计划程序一起正常工作
pynetdicom not working correctly with Windows Task Scheduler
我正在使用此 pynetdicom script 的修改版本(本页的第二个示例)将 DICOM 图像下载到办公室计算机。这是脚本的作用:
- 打开与 PACS 的连接
- 搜索与给定患者病历号和登录号的当前日期相匹配的 DICOM 图像。
- 如果找到符合给定条件的 DICOM 图像,则会启动 SCP 服务器连接以开始将图像下载到本地计算机上的文件夹。
脚本在 运行 使用 Spyder IDE 时有效。我已经使用 Windows Task Scheduler 创建了一个计划任务,如果脚本首先是 运行 使用 Spyder IDE 并且仅当 Spyder 保持打开状态并且所有变量都没有被清除时,它才能正常工作.
但是,如果Spyder关闭或者Spyder内核重启,那么当脚本通过任务调度器运行时,它会运行正确,直到到达SCP服务器的部分调用从 PACS 下载图像的 handle_store 函数。脚本没有调用 handle_store 函数,连接最终超时。
我认为解决方案是更改任务计划程序中的默认工作目录,但这没有用。知道发生了什么以及如何解决这个问题吗?
好的,我做了更多的挖掘,找到了问题的根源。为了让图像下载到我的电脑 Python 需要通过我们的公司防火墙。我已经允许 pythonw.exe 通过防火墙但不允许 python.exe。一旦允许这两个 Python 文件通过防火墙,当使用 Windows 任务计划程序启动时,脚本将 运行 如预期的那样。
我正在使用此 pynetdicom script 的修改版本(本页的第二个示例)将 DICOM 图像下载到办公室计算机。这是脚本的作用:
- 打开与 PACS 的连接
- 搜索与给定患者病历号和登录号的当前日期相匹配的 DICOM 图像。
- 如果找到符合给定条件的 DICOM 图像,则会启动 SCP 服务器连接以开始将图像下载到本地计算机上的文件夹。
脚本在 运行 使用 Spyder IDE 时有效。我已经使用 Windows Task Scheduler 创建了一个计划任务,如果脚本首先是 运行 使用 Spyder IDE 并且仅当 Spyder 保持打开状态并且所有变量都没有被清除时,它才能正常工作.
但是,如果Spyder关闭或者Spyder内核重启,那么当脚本通过任务调度器运行时,它会运行正确,直到到达SCP服务器的部分调用从 PACS 下载图像的 handle_store 函数。脚本没有调用 handle_store 函数,连接最终超时。
我认为解决方案是更改任务计划程序中的默认工作目录,但这没有用。知道发生了什么以及如何解决这个问题吗?
好的,我做了更多的挖掘,找到了问题的根源。为了让图像下载到我的电脑 Python 需要通过我们的公司防火墙。我已经允许 pythonw.exe 通过防火墙但不允许 python.exe。一旦允许这两个 Python 文件通过防火墙,当使用 Windows 任务计划程序启动时,脚本将 运行 如预期的那样。