Вы должны определить, какой тип исключения вы хотите поймать. Поэтому напишите except Exception, e:
вместо except, e:
для общего исключения (которое будет регистрироваться в любом случае).
Другая возможность состоит в том, чтобы написать весь ваш код try / except:
try:
with open(filepath,'rb') as f:
con.storbinary('STOR '+ filepath, f)
logger.info('File successfully uploaded to '+ FTPADDR)
except Exception, e:
logger.error('Failed to upload to ftp: '+ str(e))
в Python 3.x и современные версии Python 2.x используют except Exception as e
вместо except Exception, e
:
try:
with open(filepath,'rb') as f:
con.storbinary('STOR '+ filepath, f)
logger.info('File successfully uploaded to '+ FTPADDR)
except Exception as e:
logger.error('Failed to upload to ftp: '+ str(e))
Как я уже говорил, мне интересно, не является ли это основным потоком + потоком пула. Вы используете Task Executor, поэтому Spring Batch, возможно, переключается в режим Master / Slave. Я рекомендую вам сделать некоторую отладку и определить, какая реализация Tasklet используется, и посмотреть метод «execute», чтобы вы могли получить представление о том, что делается «за кулисами»:).
Надеюсь, это поможет.