fecgov / fecfile-web-api

Back-end API for FECfile application
Other
8 stars 2 forks source link

SPIKE: Timeout polling of EFO when creating reports or PDFs #688

Closed mjtravers closed 3 weeks ago

mjtravers commented 9 months ago

The celery worker polls the EFO service for status repeatedly when a print or upload request is made.

Work with BAs and FEC staff to determine an acceptable number of tries and terminate the process if it is long-running and hits this limit.

The incomplete request should be recorded and the user notified on the front end.

… come up with options to present to FEC …

QA Notes

null

DEV Notes

After discussion with Laura and with Todd, the route we decided on for this ticket was to set up the API to support EFO polling as controlled by two environment variables: {{EFO_POLLING_INTERVAL}} and {{EFO_POLLING_MAX_DURATION}}

These variables have (for now) been set to the following values for now on DEV, STAGE, and PROD: {{EFO_POLLING_INTERVAL}} 30 (seconds) {{EFO_POLLING_MAX_DURATION}} 300 (seconds)

Design

null

See full ticket and images here: FECFILE-230

exalate-issue-sync[bot] commented 3 months ago

akhorsand commented: [~accountid:557058:3e765e5c-5614-4ef8-975a-6f5202ed75a9] [~accountid:712020:2a1493e5-adee-45bd-b27e-868a5c8d3f62] should we do the requirements on how many tries is acceptable before we point, that way this can be an implementation ticket? Or should this be rebranded as a SPIKE ticket?

exalate-issue-sync[bot] commented 3 months ago

Matt Travers commented: [~accountid:61b0b42cd5986c006a9e1c94] It makes sense to get the polling info as a requirement and then limit this ticket to implementation. For the limit, we currently poll every 2 seconds and continue polling until we receive a status of ACCEPTED, COMPLETED, FAILED, or REJECTED from EFO. We continue polling if we get a return status of PROCESSING. So the question is: How long should we tie up system resources waiting for a submission to complete processing?

exalate-issue-sync[bot] commented 2 months ago

Elaine Krauss commented: Link to successful unit tests:

[https://app.circleci.com/pipelines/github/fecgov/fecfile-web-api/4211/workflows/bbafbd2d-eff6-4102-b9a0-4b0737a9340b/jobs/12517|https://app.circleci.com/pipelines/github/fecgov/fecfile-web-api/4211/workflows/bbafbd2d-eff6-4102-b9a0-4b0737a9340b/jobs/12517]

exalate-issue-sync[bot] commented 2 months ago

Todd Lees commented: Passes CR moving to QA

exalate-issue-sync[bot] commented 2 months ago

Todd Lees commented: OOOPS wrong ticket moved

exalate-issue-sync[bot] commented 1 month ago

Shelly Wise commented: QA review verified Unit tests passing per DEV for this ticket.

!image-20241007-161724.png|width=1512,height=850,alt="image-20241007-161724.png"!

QA Review Completed. Moved to Stage Ready.

exalate-issue-sync[bot] commented 3 weeks ago

akhorsand commented: Sprint conditionally accepted by Paul on 10/22/24 on the condition that we complete the hotfix FECFILE-1623. Tickets have been moved to DONE out of STAGE READY to facilitate QA processes, but full acceptance will come with the deployment of 1623.