fix: 🐛 Quick Exit on keyboard interrupt
This commit is contained in:
@@ -9,6 +9,7 @@ wheels/
|
|||||||
# Virtual environments
|
# Virtual environments
|
||||||
.venv
|
.venv
|
||||||
|
|
||||||
|
dat_other/*
|
||||||
dat_files/*
|
dat_files/*
|
||||||
asc_files/*
|
asc_files/*
|
||||||
csv_files/*
|
csv_files/*
|
||||||
@@ -16,3 +17,5 @@ combined_files/*
|
|||||||
zone_inputs/*
|
zone_inputs/*
|
||||||
|
|
||||||
*.tar.gz
|
*.tar.gz
|
||||||
|
|
||||||
|
generate_test_data.py
|
||||||
@@ -72,8 +72,13 @@ class BatchNimrod:
|
|||||||
}
|
}
|
||||||
|
|
||||||
completed_count = 0
|
completed_count = 0
|
||||||
for future in concurrent.futures.as_completed(future_to_file):
|
try:
|
||||||
completed_count += 1
|
for future in concurrent.futures.as_completed(future_to_file):
|
||||||
if completed_count % 10 == 0:
|
completed_count += 1
|
||||||
logging.info(f'processed {completed_count} out of {total_files} files')
|
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
|
||||||
|
|
||||||
|
|||||||
@@ -152,17 +152,22 @@ class GenerateTimeseries:
|
|||||||
}
|
}
|
||||||
|
|
||||||
completed_count = 0
|
completed_count = 0
|
||||||
for future in concurrent.futures.as_completed(future_to_file):
|
try:
|
||||||
file_results = future.result()
|
for future in concurrent.futures.as_completed(future_to_file):
|
||||||
if file_results:
|
file_results = future.result()
|
||||||
for res in file_results:
|
if file_results:
|
||||||
zone_id = res['zone_id']
|
for res in file_results:
|
||||||
results[zone_id]['dates'].append(res['date'])
|
zone_id = res['zone_id']
|
||||||
results[zone_id]['values'].append(res['value'])
|
results[zone_id]['dates'].append(res['date'])
|
||||||
|
results[zone_id]['values'].append(res['value'])
|
||||||
|
|
||||||
completed_count += 1
|
completed_count += 1
|
||||||
if completed_count % 100 == 0:
|
if completed_count % 100 == 0:
|
||||||
print(f"Processed {completed_count}/{total_files} files")
|
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
|
# Write CSVs for each location
|
||||||
print("Writing CSV files...")
|
print("Writing CSV files...")
|
||||||
|
|||||||
Reference in New Issue
Block a user