Skip to content

Commit 07293d3

Browse files
New consumer ecmwf india (#731)
* use latest nwp consumer ecmwf india * fix * tidy * new logic for making latest.zarr file in nwp * add xarray to install requirments * revert back to old s3 file * clean up * role bk
1 parent f9c6428 commit 07293d3

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

terraform/modules/services/airflow/dags/utils/s3.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,19 @@ def determine_latest_zarr(bucket: str, prefix: str):
2424
size_old += obj.size
2525

2626
# If the sizes are different, create a new latest.zarr
27+
s3hook.log.info(f"size_old={size_old}, size_new={size_new}")
2728
if size_old != size_new and size_new > 500 * 1e3: # Expecting at least 500KB
28-
# Delete the old latest.zarr, if it exists
29+
30+
# delete latest.zarr
31+
s3hook.log.info(f"Deleting {prefix}/latest.zarr/")
2932
if prefix + "/latest.zarr/" in prefixes:
3033
s3hook.log.debug(f"Deleting {prefix}/latest.zarr/")
3134
keys_to_delete = s3hook.list_keys(bucket_name=bucket, prefix=prefix + "/latest.zarr/")
3235
s3hook.delete_objects(bucket=bucket, keys=keys_to_delete)
36+
37+
# move latest zarr file to latest.zarr using s3 batch jobs
38+
s3hook.log.info(f"Creating {prefix}/latest.zarr/")
39+
3340
# Copy the new latest.zarr
3441
s3hook.log.info(f"Copying {zarrs[0]} to {prefix}/latest.zarr/")
3542
source_keys = s3hook.list_keys(bucket_name=bucket, prefix=zarrs[0])
@@ -40,6 +47,7 @@ def determine_latest_zarr(bucket: str, prefix: str):
4047
dest_bucket_name=bucket,
4148
dest_bucket_key=prefix + "/latest.zarr/" + key.split(zarrs[0])[-1],
4249
)
50+
4351
else:
4452
s3hook.log.info("No changes to latest.zarr required")
4553

terraform/modules/services/airflow/docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ services:
4141
ECS_SECURITY_GROUP: $ECS_SECURITY_GROUP
4242
_AIRFLOW_WWW_USER_PASSWORD: ${PASSWORD}
4343
AIRFLOW_CONN_SLACK_API_DEFAULT: ${AIRFLOW_CONN_SLACK_API_DEFAULT}
44+
4445
user: "${AIRFLOW_UID:-50000}:0"
4546
volumes:
4647
- data:/airflow

0 commit comments

Comments
 (0)