与cron工作的python pickle问题

时间:2016-03-24 02:17:01

标签: python python-2.7 cron

我正在使用python pickle创建一个对象并存储在配置文件中。没有cron作业,我能够运行脚本并能够生成config.pkl。但是,一旦我把它放在cron作业中,我就无法生成config.pkl,但会生成日志“调用generateConfig”。该文件具有执行权限。

以下是函数和cron作业。

def generateConfig():
       print "calling generateConfig"
       configDict = {"test1":"value1","test2":"value2"}
       output = open('config.pkl','wb')
       pickle.dump(configDict, output)
       output.close

的crontab:

00 05 * * * /user/bin/python ~/job/process.py

1 个答案:

答案 0 :(得分:0)

由于您没有为#simple_form.rb # disable the default :nested boolean style # and enable :inline config.boolean_style = :nested config.boolean_style = :inline 提供路径,我的猜测是将该文件转储到运行它的用户的主目录中;如果没有放在那里,请尝试搜索您的系统。如果没有记录错误,那么文件很可能就在某处,而不是你期望的那样。

config.pkl / try中包装任何可能产生异常(例如编写文件)的内容并明确地处理或记录问题也是一种好习惯,这样您至少可以保持对脚本的执行;在这种情况下,如果您最终尝试挑选资源,您的脚本可能会死而不关闭该文件句柄。使用'catch是个不错的选择。