This ticket will wire up job status polling and implement the remaining dialog states for the bulk upload modal. We can assume the upload and validation tickets are complete.
Polling
- On successful upload when a jobId is returned, we can begin polling
GET /background-jobs?listingId= every 30 seconds
- We also want to call this on page load and when the dialog opens
- When the job reaches
completed or failed then stop polling
- The response to this will tell us if the active job is for this listing or not
Dialog states
In-progress (there's an active job and it is for this listing)
Bulk update in progress
Your file is being processed. This may take up to an hour for many applications.
[progress indicator: X of Y records processed with a spinner]
You'll receive an email when the job completes. You can close this dialog and processing will continue in the background.
Completed
Bulk update complete
Successfully updated [N] application records.
Failed
Bulk update failed
[errorMessage from job]
If you are unable to correct the issue, contact the support team.
Blocked (only if globallyLocked: true and it's not for this listing)
Bulk update unavailable
A bulk update is currently in progress for another listing. Only one bulk update can run at a time across all listings. A bulk update may take up to an hour for many applications.
Please try again later. This page will update automatically when the current job completes and this feature becomes available.
=When we know that the listing has an active job, add a spinner to the end of the bulk update button.
Notes
This ticket will wire up job status polling and implement the remaining dialog states for the bulk upload modal. We can assume the upload and validation tickets are complete.
Polling
GET /background-jobs?listingId=every 30 secondscompletedorfailedthen stop pollingDialog states
In-progress (there's an active job and it is for this listing)
Bulk update in progress
Your file is being processed. This may take up to an hour for many applications.
[progress indicator: X of Y records processed with a spinner]
You'll receive an email when the job completes. You can close this dialog and processing will continue in the background.
Completed
Bulk update complete
Successfully updated [N] application records.
Failed
Bulk update failed
[errorMessage from job]
If you are unable to correct the issue, contact the support team.
Blocked (only if globallyLocked: true and it's not for this listing)
Bulk update unavailable
A bulk update is currently in progress for another listing. Only one bulk update can run at a time across all listings. A bulk update may take up to an hour for many applications.
Please try again later. This page will update automatically when the current job completes and this feature becomes available.
=When we know that the listing has an active job, add a spinner to the end of the bulk update button.
Notes