Implemented below changes:
1) Change the way the backup downloads attachments

Currently, the app asks for the attachment details during the sheet
download process.  These details include a link to Amazon S3 that is
only valid for 2 minutes. This S3 URL gets thrown onto a worker pool and
if the download worker doesn't execute within the 2 minute window, it
will fail to download the file.  To address this, the request to get the
S3 URL should occur as part of the worker process itself, increasing the
likelihood that the 2-minute window will be met.

2) Graceful error handling
Add a config flag to config properties to indicate whether to continue
on error, or to halt the process upon the first error.  In the former
case, produce a detailed error log showing what was skipped.  The error
log should have sufficient information such that the user can determine
who the sheet belongs to, what the sheet name is, the name of the
attachment (if it was an attachment that failed), etc., so that manual
steps can be taken to recover the item.
Implemented below changes
1) Change the way the backup downloads attachments

Currently, the app asks for the attachment details during the sheet
download process.  These details include a link to Amazon S3 that is
only valid for 2 minutes. This S3 URL gets thrown onto a worker pool and
if the download worker doesn't execute within the 2 minute window, it
will fail to download the file.  To address this, the request to get the
S3 URL should occur as part of the worker process itself, increasing the
likelihood that the 2-minute window will be met.

2) Graceful error handling
Add a config flag to config properties to indicate whether to continue
on error, or to halt the process upon the first error.  In the former
case, produce a detailed error log showing what was skipped.  The error
log should have sufficient information such that the user can determine
who the sheet belongs to, what the sheet name is, the name of the
attachment (if it was an attachment that failed), etc., so that manual
steps can be taken to recover the item.
invalid url json

Signed-off-by: Gkairi <gkairi@gmail.com>
Merge branch 'master' of https://github.com/Gkairi/backup-java.git