According to 
https://dev.mysql.com/doc/refman/8.0/en/information-functions.html#function_connection-id,
"SELECT connection_id()" should give you the answer.

Simon

On Thu, Nov 14, 2019 at 12:13 PM Marcin Koziej <mar...@cahoots.pl> wrote:
>
> I don't know how to do this using other DBAPIs, but I thought that if command 
> line mysql client has such behaviour, it should be possible also using the 
> library.
> I was thinking about finding the process in SHOW PROCESSLIST and killing it, 
> but it seems hacky and I am not sure if I can find the correct process (what 
> if the same user is running another query concurrently?). Does SQLAlchemy 
> store last command pid maybe?
>
>
> --
> Marcin Koziej
> GPG key: https://go.cahoots.pl/gpg/  Ϟ  Twitter: @movonw
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Thursday, November 14, 2019 12:37 PM, Simon King <si...@simonking.org.uk> 
> wrote:
>
> > I'm not sure this is even possible. Ignoring SQLAlchemy, do you know
> > how you would do it using any MySQL DBAPI library (mysqlclient,
> > PyMySQL, etc.)?
> >
> > Maybe you could do something creative where you capture the PID when
> > the connection is created, and on Ctrl-C, send a "KILL pid" command. I
> > don't know if you can send new commands on a connection while it is
> > executing a query, so you might need to use a new connection.
> >
> > Simon
> >
> > On Thu, Nov 14, 2019 at 8:24 AM Marcin Koziej mar...@cahoots.pl wrote:
> >
> > > (Crossposting from Stackoverflow, where I unfortunately didn't get any 
> > > answers: 
> > > https://stackoverflow.com/questions/58837864/sqlalchemty-how-to-kill-a-mysql-process-on-keyboard-interrupt
> > >  )
> > > Hello!
> > > I'm using SQLAlchemy 1.3.10 to run a bunch of SQL statements on Percona 
> > > Server 5.7.27. I do not use the ORM functionality. My problem is that I 
> > > cannot abort the running SQL statement from KeyboardInterrupt handler, 
> > > after hitting Ctrl-C.
> > > My usage is as follows:
> > > engine = create_engine(...)
> > > connection = engine.connect()
> > > with connection.begin() as transaction:
> > > try:
> > > res = connection.execute(text(sql))
> > > except KeyboardInterrupt as ctrlc:
> > > print('You pressed ctrl-c')
> > > transaction.rollback()
> > > sys.exit(1)
> > > Pressing Ctrl-c stops the script but leaves the query running in MySQL 
> > > server, and i have to kill it manually using KILL pid.
> > > I've tried to call connection.close() as well, but without result. How 
> > > can I kill such running query on keyboard interrupt?
> > > Best regards,
> > > Marcin Koziej
> > > --
> > > SQLAlchemy -
> > > The Python SQL Toolkit and Object Relational Mapper
> > > http://www.sqlalchemy.org/
> > >
> > > To post example code, please provide an MCVE: Minimal, Complete, and 
> > > Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> > > description.
> > >
> > > --------------------------------------------------------------------------------------------------------------------------------------------------------
> > >
> > > You received this message because you are subscribed to the Google Groups 
> > > "sqlalchemy" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an 
> > > email to sqlalchemy+unsubscr...@googlegroups.com.
> > > To view this discussion on the web visit 
> > > https://groups.google.com/d/msgid/sqlalchemy/426f7140-d078-41fa-81d7-a5a6aabb2a7f%40googlegroups.com.
> >
> > --
> >
> > SQLAlchemy -
> > The Python SQL Toolkit and Object Relational Mapper
> >
> > http://www.sqlalchemy.org/
> >
> > To post example code, please provide an MCVE: Minimal, Complete, and 
> > Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> > description.
> >
> > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> >
> > You received this message because you are subscribed to a topic in the 
> > Google Groups "sqlalchemy" group.
> > To unsubscribe from this topic, visit 
> > https://groups.google.com/d/topic/sqlalchemy/Wv6xGeBLrjg/unsubscribe.
> > To unsubscribe from this group and all its topics, send an email to 
> > sqlalchemy+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msgid/sqlalchemy/CAFHwexewtrjbv%2BYLcDgx0y1o0Sg3o6qO56Oyxf7OEvUyprzRJQ%40mail.gmail.com.
>
>
> --
> SQLAlchemy -
> The Python SQL Toolkit and Object Relational Mapper
>
> http://www.sqlalchemy.org/
>
> To post example code, please provide an MCVE: Minimal, Complete, and 
> Verifiable Example.  See  http://stackoverflow.com/help/mcve for a full 
> description.
> ---
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sqlalchemy/YVEyBt4_-K_PvH4mN4Kc8d-CQyxe85bUy_6kXx668ub5FvPkR82zrxfkYlTHHW2ptapq1z-QRoX9fGqWzGvmkt9RqusI6Ow65cQTZO4x4EA%3D%40cahoots.pl.

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/CAFHwexdBD1mp4GceqsB_Gois%3DrUY%2BSa1wKbKvNNV5tvn2f-tCg%40mail.gmail.com.

Reply via email to