start sql query and dont wait for response in python

Padawan

Dear community,

Do you know a way in which I can fire a sql query from pyexasol running remote and abandon the connection without waiting for result? is it even possible?

Example scenario: I want to ingest a huge csv file into my Exasol cluster and would like to trigger the ingestion from a script I wrote in python that runs on a remote machine (pyexasol is used to send sql queries to Exasol cluster). However, I dont want to keep my script running till ingestion is done (as it takes a long time, i prefer to just fire and forget).

2 REPLIES 2

Xpert

Hello,

Currently it won't be possible in any programming language. As soon as network socket closes on client side, Exasol server will terminate session and rollback the current transaction.

"Abandoning" the connection is not a good idea because IMPORT or COMMIT may go wrong, and you won't be able to see and process any errors.

You may want to have a simple process running as daemon and controlling ETL jobs in general: starting, stopping, checking status, reloading, etc.

Xpert

Hi bjamshid,

I think the crucial part is the "abandon the connection" bit.... everything you do within your session will terminate once the session terminates ( your script runtime being the prime victim here ).

Why is it a problem that the script runs for as long as it needs for the ingestion ? Since it´s on a remote system, why do you care ?

The first idea if keeping the script running and just handing back control is the issue would something along the lines of "nohup" (linux) or Start-Process (win) in the calling script.

Cheers,
Malte