Gauthier Pierard
03/20/2025, 9:11 AMHall
03/20/2025, 9:11 AMdatajoely
03/20/2025, 9:13 AMGauthier Pierard
03/20/2025, 9:13 AMwith ThreadPoolExecutor(max_workers=10) as executor:
future_to_query = {executor.submit(execute_single_query, q_name, q_value): q_name for q_name, q_value in queries.items()}
for future in as_completed(future_to_query):
query_name, data = future.result()
if data is not None:
results[query_name] = data
executor.shutdown(wait=False) # Ensure all threads are cleaned up
del executor
and as you can see the kedro process doesnt complete. when I don't use threadpoolexecutor, this doesnt happen.datajoely
03/20/2025, 9:14 AMGauthier Pierard
03/20/2025, 9:14 AMdatajoely
03/20/2025, 9:15 AMdatajoely
03/20/2025, 9:15 AMdatajoely
03/20/2025, 9:16 AMdatajoely
03/20/2025, 9:17 AMGauthier Pierard
03/20/2025, 9:17 AMGauthier Pierard
03/20/2025, 9:17 AMdatajoely
03/20/2025, 9:17 AMdatajoely
03/20/2025, 9:18 AMdatajoely
03/20/2025, 9:18 AMGauthier Pierard
03/20/2025, 9:19 AMGauthier Pierard
03/20/2025, 9:21 AMdatajoely
03/20/2025, 9:22 AMdatajoely
03/20/2025, 9:22 AMGauthier Pierard
03/20/2025, 9:22 AMdatajoely
03/20/2025, 9:22 AMGauthier Pierard
03/20/2025, 9:23 AMGauthier Pierard
03/20/2025, 9:28 AMSequentialRunner
to not use an executor pool to ensure it's single threaded.Gauthier Pierard
03/20/2025, 10:46 AMdatajoely
03/20/2025, 12:01 PMdatajoely
03/20/2025, 12:01 PMMerel
03/20/2025, 12:02 PMRashida Kanchwala
03/20/2025, 12:19 PMGauthier Pierard
03/20/2025, 12:19 PMGauthier Pierard
03/20/2025, 1:03 PMfrom joblib import Parallel, delayed
# ...
results = Parallel(n_jobs=nb_executors)(
delayed(execute_single_query)(q_name, q_value, input_url, denodo_user, denodo_password, driverpath, namespace)
for q_name, q_value in queries.items()
)
datajoely
03/20/2025, 1:03 PM