我的python子进程调用在crontab中无效?

时间:2016-04-22 07:43:52

标签: python hadoop crontab datastax-enterprise

我目前的做法是首先删除旧模型,保存新模型,使用shell没有问题,但它只是不能使用crontab自动工作。知道为什么或如何解决这个问题?谢谢你的帮助。

错误是主程序不等待subprocess.call返回。我认为这是问题,但不确定。

这是我目前的命令:

subprocess.call('dse hadoop fs -rmr /root/recommend_model', shell=True)  

1 个答案:

答案 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

如果这可以解决您的问题,请告诉我。