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.