Я хочу запустить два параллельных задания, которые выполняют одну и ту же функцию запроса, но используют разные таблицы. Функция запроса возвращает записи запроса в виде pandas данных. Я перебираю список значений, чтобы добавить выполняемый оператор запроса. Я новичок в Ipyparallel и не уверен, должен ли я использовать только один движок для каждой функции или два отдельных LoadBalancedView для обеих. Изначально у меня был список значений внутри функции, но я хотел посмотреть, будет ли это быстрее делать так.
import ipyparallel
rc = ipyparallel.Client(profile='default')
dview = rc[:]
view = rc.load_balanced_view()
async_results = []
for val in values:
ar = view.apply_async(execute_query, conn, table1, val)
async_results.append(ar)
ar2 = view.apply_async(execute_query, conn, table2, val)
async_results.append(ar2)
rc.wait_interactive(async_results)
results = [ar.get() for ar in async_results]
results2 = [ar2.get() for ar2 in async_results]