【发布时间】:2016-02-15 13:18:18
【问题描述】:
我有一个过程可以扫描磁带库并查找已过期的介质,以便在将磁带发送到异地保管库之前将其移除并重新使用。 (我们有一些 7 天的政策,永远不会离开现场。)这个过程大约需要 20 分钟才能运行,所以我不希望它在加载/刷新页面时按需运行。相反,我设置了一个 django-cron 作业(我知道我可以在 Linux cron 中完成此操作,但希望项目尽可能独立)来运行扫描,并在 /tmp 中创建一个文件。我已经验证这可行——从今天早上的执行开始,该文件存在于 /tmp 中。我遇到的问题是,现在我想在我的网页上显示那些过期(临时)媒体的列表,但脚本说它找不到文件。创建文件时,我使用绝对文件名“/tmp/scratch.2015-11-13.out”(例如),但这是我在浏览器中遇到的错误:
IOError at /
[Errno 2] No such file or directory: '/tmp/corpscratch.2015-11-13.out'
我的假设是这是一个“网络根”问题,但我就是想不通。我尝试将文件复制到 django 中配置的 /static/ 和 /media/ 目录,甚至复制到 django 根目录和项目根目录,但似乎没有任何效果。当它说找不到 /tmp/file 时,它到底在哪里寻找?
def sample():
""" Just testing """
today = datetime.date.today() #format 2015-11-31
inputfile = "/tmp/corpscratch.%s.out" % str(today)
with open(inputfile) as fh: # This is the line reporting the error
lines = [line.strip('\n') for line in fh]
print(lines)
print 语句用于在 shell 中进行测试(我可能会补充),但浏览器给出了错误。
该文件确实存在:
$ ls /tmp/corpscratch.2015-11-13.out
/tmp/corpscratch.2015-11-13.out
谢谢。
编辑:弄错了,在 python shell 中也不起作用。正在考虑以前的问题。
【问题讨论】:
标签: django