As a developer of Notify, I would like to keep our execution scripts as generic as possible to reduce repetition, while also increasing flexibility and reliability.
WHY are we building?
Currently we are creating a different run script for every celery deployment (email, main, sms) all of which are virtually the same code except for different queues. As we increase the logic in these scripts (waiting for stastd etc), it becomes more complicated to manage changes across these scripts.
WHAT are we building?
Replace the values that change between these scripts with environment variables that can be passed at runtime
Modify the manifests to include these new variables and set them per deployment
Parameterize the log level
VALUE created by our solution
Reduced complexity when maintaining the code, increased flexibility in deploying the code and tuning performance.
Acceptance Criteria
[ ] Celery entrypoint scripts reduced to 1
[ ] Docker build and deploy updated
[ ] Manifests are updated in scratch/dev/staging/prod
QA Steps
[ ] Ensure celery runs as expected in all environments
Description
As a developer of Notify, I would like to keep our execution scripts as generic as possible to reduce repetition, while also increasing flexibility and reliability.
WHY are we building?
Currently we are creating a different run script for every celery deployment (email, main, sms) all of which are virtually the same code except for different queues. As we increase the logic in these scripts (waiting for stastd etc), it becomes more complicated to manage changes across these scripts.
WHAT are we building?
Replace the values that change between these scripts with environment variables that can be passed at runtime Modify the manifests to include these new variables and set them per deployment Parameterize the log level
VALUE created by our solution
Reduced complexity when maintaining the code, increased flexibility in deploying the code and tuning performance.
Acceptance Criteria
QA Steps