今天写了个脚本,本地run 好好的,部署到task scheduler上一直0x1,整个人要崩溃了。
首先0x1是什么意思:
这次我的问题也确实与路径有关。
PS:如果执行的是python脚本,缺少pip包也会导致相似的问题。
过程中无用的排错步骤就不提了,单指一下最后是怎么把error揪出来的。
首先很奇怪,哪怕code中间有什么问题,也应该至少给我打出一条log出来
trigger() 的第一句就是log,还有try catch,为啥没打出来呢:
既然如此,那么问题应该出现在比if name == 'main' 执行还要早的地方。
哪里?
这里:
尝试把它注释掉,再再scheduler里 run一下,成了。
但此时我只知道它有问题,但它到底有什么问题呢??出问题的在log上,那我无法直接依赖log来排错了。
这里就涉及到scheduler 排错的一个小技巧:使用cmd 来执行,将输出记录在某个文件里:
首先套上try catch。因为不能用log,直接用print
cmd这么写:
schedule task中,直接执行py 脚本,改成执行这个cmd文件:
执行!成功结束没有再报0x1!!
log.log中的内容:
呃,我的开发机确实没有D盘,所以我故意映像了一个D盘,指向C盘,本地跑的时候也没有任何问题呀。
和同事讨论,有可能是这种原因:我映像出的D盘只是在我的名下,而task 跑在其他,或更高权限的账号下,因此无法get到D盘。
回头研究了一下task的设定,在这种情况下是可以跑通的:
done