如何解决Windows Task Scheduler执行的Python脚本中的多处理
我有一个使用多重处理的Python脚本,我需要Windows任务计划程序每天早上6:45执行。使用多处理的原因是,如果脚本停止运行并且一个小时后仍未完成,则该过程将终止。
该脚本在手动运行时运行良好,但是在由Task Scheduler运行时,它将跳过我尝试通过多处理调用的函数中的所有代码。伪代码如下。
import arcpy,multiprocessing
set variables
def executeThisFunction():
do work
if __name__ == '__main__':
p = multiprocessing.Process(target=executeThisFunction)
p.start()
#Wait for 3600 seconds (1 hour) or until process finishes
p.join(3600)
#If thread is still active after 3600 seconds
if p.is_alive():
p.terminate()
很明显,当通过Windows Task Scheduler运行它时,我的功能将被跳过,但是当通过命令提示符或双击.py文件运行时,一切都会按预期运行。如何解决此问题,以便从Windows Task Scheduler调用它时,它可以运行函数中的所有内容?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。