Repository navigation
DIE-364: Rebuild pygeoapi after pipeline runs - #140
Conversation
Add the pygeoapi_rebuild sensor. Once a product job has succeeded and none are queued or running, it starts the die-pygeoapi-rebuild Cloud Build trigger, so the image bakes the new data. It launches no Dagster run and is stopped by default. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Update SPEC §6.6, T5 in the performance plan, and orchestration/AGENTS.md. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Your pull request is automatically being deployed to Dagster Cloud.
|
jirhiker
left a comment
There was a problem hiding this comment.
Is baking the data into the pygeoapi image a long or short term solution?
|
@jirhiker If the entire package of data in parquet files keeps to a size similar to now (~80MB), I think it's a long term solution. Definitely open to discussion and continuing testing. Why I think this: 80MB is quite a minimal increase in image size. If the DIE pipeline runs weekly, the rebuild to update this data only needs to happen weekly. Saving the parquet into the storage on the image removes any network calls/latency when pygeoapi needs to get the data (compared to going to GCS or a GC Postgres DB). If we want further performance gains for the new version of Weaver, we could build the list of most common requests from the client (like for loading the map), and save the gzipped responses into the image at build time so that those requests are just a static file read. I will explore this more because it's very relevant for the initial map loads. If traffic grows the the point where CDN caching would also improve performance, we could turn on Google's Cloud CDN to cache and deliver repeat requests. |
Adds a
pygeoapi_rebuildDagster sensor. Once a product job (cohort or standalone) has succeeded and none are queued or running, it starts thedie-pygeoapi-rebuildCloud Build trigger, so the pygeoapi image bakes the new data. Several runs finishing on the same day give one build.GCP_SERVICE_ACCOUNT_KEYand launches no Dagster run, so it uses no Dagster+ credits.docs/pygeoapi-performance-plan.md, andorchestration/AGENTS.md.Before turning it on:
die-pygeoapi-rebuildinus-central1. It buildsmainwithorchestration/pygeoapi/cloudbuild.yaml.roles/cloudbuild.builds.editor, plusroles/iam.serviceAccountUseron the trigger's service account.🤖 Generated with Claude Code