fix: 🐛 Quick Exit on keyboard interrupt

This commit is contained in:
2025-12-08 19:14:02 +00:00
parent 1a6219f64d
commit 009c40e08a
3 changed files with 29 additions and 16 deletions
+4 -1
View File
@@ -9,10 +9,13 @@ wheels/
# Virtual environments
.venv
dat_other/*
dat_files/*
asc_files/*
csv_files/*
combined_files/*
zone_inputs/*
*.tar.gz
*.tar.gz
generate_test_data.py
+9 -4
View File
@@ -72,8 +72,13 @@ class BatchNimrod:
}
completed_count = 0
for future in concurrent.futures.as_completed(future_to_file):
completed_count += 1
if completed_count % 10 == 0:
logging.info(f'processed {completed_count} out of {total_files} files')
try:
for future in concurrent.futures.as_completed(future_to_file):
completed_count += 1
if completed_count % 10 == 0:
logging.info(f'processed {completed_count} out of {total_files} files')
except KeyboardInterrupt:
logging.warning("KeyboardInterrupt received. Cancelling pending tasks...")
executor.shutdown(wait=False, cancel_futures=True)
raise
+16 -11
View File
@@ -152,17 +152,22 @@ class GenerateTimeseries:
}
completed_count = 0
for future in concurrent.futures.as_completed(future_to_file):
file_results = future.result()
if file_results:
for res in file_results:
zone_id = res['zone_id']
results[zone_id]['dates'].append(res['date'])
results[zone_id]['values'].append(res['value'])
completed_count += 1
if completed_count % 100 == 0:
print(f"Processed {completed_count}/{total_files} files")
try:
for future in concurrent.futures.as_completed(future_to_file):
file_results = future.result()
if file_results:
for res in file_results:
zone_id = res['zone_id']
results[zone_id]['dates'].append(res['date'])
results[zone_id]['values'].append(res['value'])
completed_count += 1
if completed_count % 100 == 0:
print(f"Processed {completed_count}/{total_files} files")
except KeyboardInterrupt:
print("KeyboardInterrupt received. Cancelling pending tasks...")
executor.shutdown(wait=False, cancel_futures=True)
raise
# Write CSVs for each location
print("Writing CSV files...")