I've got some database transactional code running within a thread via RunInteraction (it needs to rollback on error). One of the features on the logic is that it interacts with a 3rd party API, which may or may not have a ratelimit in effect. Most 3rd party APIs i consume have a minute/hourly based limit -- so I just do a graceful fail on the transaction to requeue it, and set a local timeout. This particular API has a per-second meter in effect. It is considerably more efficient to just sleep for a second and "try again" a second later. I end up being able to process over twice as many API calls in a given period with that strategy. The problem I ran into, is that I need a second database connection to note that a ratelimit has been created in the database -- and i'd like to pull that db connection out of the twisted connection pool to simplify my connection management. - I can't do it within the existing connection, because I am in a transaction and the limit won't appear to other twisted jobs. - I can't use runInteraction() off the pool, because that will defer to a thread and I am in a thread, and the last time I did something like that... everything broke. - the stopgap I have right now is just creating/closing a raw pscycopg2 connection and using that. it works, but it requires a bit more management of postgres to ensure I can balance the right number of connections. has anyone had a need like this before? if so, what did you do? i basically just need to make two "INSERT" statements from a second connection.