databricks-sql-python icon indicating copy to clipboard operation
databricks-sql-python copied to clipboard

[PECO-1263] Add documentation for execute_async

Open susodapop opened this issue 1 year ago • 2 comments

Note for reviewers: Please review this after reviewing #325.

Description

This pull request adds documentation for the forthcoming execute_async() feature. It describes the interface and gives some usage examples.

susodapop avatar Jan 20 '24 03:01 susodapop

Does this method have particular benefits over just running a blocking call in a thread?

dhirschfeld avatar Mar 05 '24 05:03 dhirschfeld

Yes, the benefit is to recover a running execution. Imagine you are running a long query (1+ hour) and in the middle, your network cable comes unplugged or your computer runs out of battery. The query continues running on your cluster (incurring cost) but you have no way to recover it or see its results. You can cancel it from the Databricks SQL web UI but apart from that you have no choice but to re-run it and wait another hour for results.

In a second usage scenario, if you deploy the connector in a serverless function or lambda. You can wake the lambda to begin executing the query, commit its handle to state, sleep the lambda for some period of time, and wake up to fetch the results. This isn't possible using threads.

susodapop avatar Mar 06 '24 03:03 susodapop