我目前的方法是首先删除旧模型,保存新模型,使用shell没有问题,但是使用crontab它不能自动工作。你知道为什么或者如何解决这个问题吗?谢谢你的帮助。错误是主程序没有等待subprocess.call返回。我认为这就是问题所在,但不确定。这是我当前的命令:
subprocess.call('dse hadoop fs -rmr /root/recommend_model', shell=True)
hs1rzwqc1#
一个可能的解决方案只是检查它是否正确执行是等待一个returncode。下面是指向子流程模块的链接:https://docs.python.org/2/library/subprocess.html您可以等待脚本中的返回代码:
if (subprocess.call(command, args) == 0): print("We are proceeding) else: print("Something went wrong executing %s" % command)
另外,根据建议,尝试使用2>&1>mickey.log重定向到脚本执行的日志文件最后但并非最不重要的是这里提供的一些subprocess/os.system建议:从另一个脚本控制python脚本python:运行外部程序并直接输出到文件并等待完成如果这能解决你的问题,请告诉我。
1条答案
按热度按时间hs1rzwqc1#
一个可能的解决方案只是检查它是否正确执行是等待一个returncode。
下面是指向子流程模块的链接:https://docs.python.org/2/library/subprocess.html
您可以等待脚本中的返回代码:
另外,根据建议,尝试使用2>&1>mickey.log重定向到脚本执行的日志文件
最后但并非最不重要的是这里提供的一些subprocess/os.system建议:从另一个脚本控制python脚本
python:运行外部程序并直接输出到文件并等待完成
如果这能解决你的问题,请告诉我。