cds-snc / notification-planning-core

Project planning for GC Notify Core Team
0 stars 0 forks source link

Investigate other potential areas that might time out (i.e. salesforce and cie.) #327

Open jimleroyer opened 2 months ago

jimleroyer commented 2 months ago

Description

As a sysops of GCNotify, I want to take proactive actions on potential areas where GCNotify process might get blocked by external services, So that I avoid future slowdowns or service interruptions of GCNotify.

WHY are we building?

Investigate and identify potential risks of external services that GCNotify uses and that might block the notifications pipeline.

WHAT are we building?

This task is only about investigation and identification of potential external services. This can be under the form of an ADR which would list all called external services, how these are called (async vs sync, libraries, etc), timeout configuration, mitigation in place, error handling, execution space (is this called in the API process or a Celery worker? which one?), etc.

VALUE created by our solution

Being proactive on potential tricky situations, leading to better architecture of our software.

Acceptance Criteria

QA Steps

Additional info

Document scanning

That process occurs asynchronously and should not be an issue as this is non-blocking.

Salesforce

That API will block as this is synchronous but would have a timeout of 3 seconds. Ideally, request to the service should be sent into a Celery task as this might block the API process while a request is sent. On the other hand, the requests should be fairly low volume due to the type of request being sent there. Investigation should check if there is a type of request that does not require authentication as this could be more risky.