pals
pals copied to clipboard
Easy distributed locking using PostgreSQL Advisory Locks.
Review https://github.com/Xof/django-pglocks to see if there is anything we can learn/use.
Bumps [certifi](https://github.com/certifi/python-certifi) from 2019.9.11 to 2022.12.7. Commits 9e9e840 2022.12.07 b81bdb2 2022.09.24 939a28f 2022.09.14 aca828a 2022.06.15.2 de0eae1 Only use importlib.resources's new files() / Traversable API on Python ≥3.11 ... b8eb5e9 2022.06.15.1...
Thanks for this useful package. Intermittently, my applications encounter the following exception: ``` IdleInTransactionSessionTimeout: terminating connection due to idle-in-transaction timeout SSL connection has been closed unexpectedly File "sqlalchemy/engine/base.py", line 1245,...
PG advisory locks support nested locks. So, the same connection can request the same lock multiple times. We don't currently support that, but should consider it.
`threading.Lock.aquire` takes an argument named `timeout`, using seconds rather than milliseconds with -1 to indicate no timeout. It would be nice to have a drop-in-compatible interface for `pals.Lock.aquire`, using something...
Look at Keg Storage as the example. Submit to Team B / NZ for review.
PostgreSQL uses one process per connection, so the number of connections doesn't scale that well. It's possible that if you needed to do a lot of locks across a lot...
Dear PALs developers, I am reaching out to kindly inquire about the Read the Docs URL https://pals.readthedocs.io/en/latest/, which appears to be associated with your project. I have noticed that the...
I just realized that PALS is currently incompatible with setting `pool_pre_ping=True` on the used engine. Example code: ```python import sqlalchemy as sa import pals engine = sa.create_engine( "postgresql+psycopg://user:pw@localhost:123/somedb", pool_pre_ping=True, )...