In postgres, you can execute:

    SET statement_timeout = 60000;

at any point.  It lasts until the end of the "session", which I believe 
would be the SqlAlchemy connection's lifetime. 




On Monday, November 12, 2018 at 6:44:06 PM UTC-5, Mike Bayer wrote:
>
>
> if statement_timeout is accepted only on the "connect" method and not 
> once you have already connected, then it would need to be set for the 
> Engine globally.  You would do this using the "connect" event: 
>
> https://docs.sqlalchemy.org/en/latest/core/events.html?highlight=connect%20event#sqlalchemy.events.PoolEvents.connect
>  
>
> Otherwise, if it can be set on a cursor, you can use 
> execution_options(), which you intercept with a before_cursor_execute 
> event: 
>
> @event.listens_for(Engine, "before_cursor_execute") 
> def _set_timeout(conn, cursor, stmt, params, context, executemany): 
>     timeout = conn._execution_options.get('timeout', None) 
>     if timeout: 
>        cursor.statement_timeout = timeout 
>
> query.execution_options() accepts whatever keywords you pass into it 
> and you can get them out inside that event handler (or anywhere you 
> have a Connection). 
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to