See :meth:`.Session.execute_concurrent`.
(session, statements_and_parameters, concurrency=100, raise_on_first_error=True, results_generator=False, execution_profile=EXEC_PROFILE_DEFAULT)
| 30 | ExecutionResult = namedtuple('ExecutionResult', ['success', 'result_or_exc']) |
| 31 | |
| 32 | def execute_concurrent(session, statements_and_parameters, concurrency=100, raise_on_first_error=True, results_generator=False, execution_profile=EXEC_PROFILE_DEFAULT): |
| 33 | """ |
| 34 | See :meth:`.Session.execute_concurrent`. |
| 35 | """ |
| 36 | if concurrency <= 0: |
| 37 | raise ValueError("concurrency must be greater than 0") |
| 38 | |
| 39 | if not statements_and_parameters: |
| 40 | return [] |
| 41 | |
| 42 | executor = ConcurrentExecutorGenResults(session, statements_and_parameters, execution_profile) \ |
| 43 | if results_generator else ConcurrentExecutorListResults(session, statements_and_parameters, execution_profile) |
| 44 | return executor.execute(concurrency, raise_on_first_error) |
| 45 | |
| 46 | |
| 47 | class _ConcurrentExecutor(object): |