On 13 Sep, 22:41, Chris Rebert <c...@rebertia.com> wrote: > On Sun, Sep 13, 2009 at 2:34 PM, Bakes <ba...@ymail.com> wrote: > > I am using a simple python script to download my logfiles. This is on > > a while loop, the logfile grows rapidly, so it is necessary for python > > to start downloading the new script as soon as it has finished the > > old. > > > It works fine (for about 20 minutes), then crashes. I have removed a > > couple of excepts, and have narrowed the error down to a 'error_perm: > > 550 logfile.log: The data is invalid.' error. > > > Does anyone know what the problem might be regarding this, and what I > > might do to fix it? > > Including an actual code snippet and the full error traceback would help a > lot. > > According tohttp://en.wikipedia.org/wiki/List_of_FTP_server_return_codes, > error code 550 translates to: > "Requested action not taken. File unavailable (e.g., file not found, > no access)." > > Does the logfile get rotated or something, thus causing it to briefly not > exist? > > It might also help if you explain how your logfile system works. > > Cheers, > Chris > --http://blog.rebertia.com
It's a cod4 gameserver logfile, being downloaded for a python bot to parse. The logfile is downloaded using this try/except while loop. while True: try: if ftp == False: self.debug('FTP connection not active, attempting to (re)connect') ftp = self.ftpconnect() size=os.path.getsize('games_mp.log') ftp.retrbinary('RETR ' + os.path.basename(self.ftpconfig ['path']), handleDownload, rest=size) if self.console._paused: self.console.unpause() except: print error self.debug('Lost connection to server, pausing until updated properly, Sleeping 10 seconds') self.console.pause() try: ftp.close() self.debug('FTP Connection Closed') except: self.debug('FTP does not appear to be open, so not closed') ftp = False time.sleep(10) I can only assume that occasionally, the logfile is being written to by the gameserver at the same time that it's downloading. If this was the case, do you think a try: download except: sleep 900msec then download loop would work? -- http://mail.python.org/mailman/listinfo/python-list