Python and Cron
Greg Lindstrom
gslindstrom at gmail.com
Fri Sep 7 15:09:06 EDT 2007
> Can you post the Python script?
Not the whole thing; it's quite long. But here's the relevant parts. We're
using the ado database interface into postgres (that's what the
results.EOFis all about)
output_file = file(output_path, 'w') # output_path =
/my_path/data/work/my_file.txt
while not results.EOF:
row = results.GetRowAssoc(upper=0)
output_file.write(row['data'])
results.MoveNext()
output_file.close()
debug('Total Bytes Written: %d' % total_bytes)
new_path = None
if total_bytes > 0: new_path = output_path.replace('/work/', '/')
else: new_path = output_path.replace('/work/',
'/empty/')
debug('Original Path [%s]'%output_path) # new_path =
/my_path/data/my_file.txt
debug(' New Path [%s]'%new_path) # new_path =
/my_path/data/empty/my_file.txt
The original code looked like this (worked from command line, failed with
cron)
os.rename(output_path, new_path)
But since that didn't work and I could create a new file, I tried this as a
work around
output_file = file(new_path, 'w')
for line in file(output_path):
output_file.write(line)
output_file.close()
The interesting/infuriating thing is that the second method also fails; that
is, the file is not moved to the data directory or the "empty"
directory...it remains in the "work" directory after the cron job
completes. If I run the same routine from the command like (after su'ing to
the edith user) it runs and moves the file to the appropriate directory.
I am going to see if we can get the email routing set up (we run over 100
cron jobs daily so I'm not sure I want it on too long) to see if it will
tell me anything.
Thanks for your time and effort
--greg
What's the name of the original file, and what are you trying to rename
> it to? I'm wondering if you are deriving the new name from something,
> and that thing is failing from within the cronjob for some reason.
> Perhaps the new name contains a complete path in one of the cases but
> not in the other...
>
> Edith should be getting email (if email routing is set up correctly) if
> the job is failing or producing output. Specifically, perhaps she's
> getting Python tracebacks and not telling you... :)
>
>
>
> --
> pkm ~ http://paulmcnett.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20070907/dcd2b2ba/attachment.html>
More information about the Python-list
mailing list