我目前的做法是首先删除旧模型,保存新模型,使用shell没有问题,但它只是不能使用crontab自动工作。知道为什么或如何解决这个问题?谢谢你的帮助。
错误是主程序不等待subprocess.call返回。我认为这是问题,但不确定。
这是我目前的命令:
subprocess.call('dse hadoop fs -rmr /root/recommend_model', shell=True)
答案 0 :(得分:1)
检查它是否正确执行的可能解决方案是等待返回码。
这里是子进程模块的链接: 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
最后但并非最不重要的一些子进程/ os.system建议: Controlling a python script from another script
python: run external program and direct output to file and wait for finish
如果这可以解决您的问题,请告诉我。