sqlalchemy_dlock.asyncio.lock.mysql module#

sqlalchemy_dlock.asyncio.lock.mysql.default_convert(key: bytearray | bytes | int | float) str#
Parameters:

key (bytearray | bytes | int | float) –

Return type:

str

class sqlalchemy_dlock.asyncio.lock.mysql.MysqlAsyncSadLock(connection_or_session: TAsyncConnectionOrSession, key, **kwargs)#

Bases: MysqlSadLockMixin, BaseAsyncSadLock

Parameters:
  • key

    MySQL named lock requires the key given by string.

    If key is not a str:

    • When bytes or alike, the constructor tries to decode it with default encoding:

      key = key.decode()
      
    • Otherwise the constructor force convert it to str:

      key = str(key)
      
    • Or you can specify a convert function to that argument

  • convert

    Custom function to covert key to required data type.

    Example

    def convert(value) -> str:
        # get a string key by `value`
        return the_string_covert_from_value
    

  • connection_or_session (TAsyncConnectionOrSession) –

async acquire(block: bool = True, timeout: float | int | None = None) bool#
Parameters:
Return type:

bool

async release()#