fmn.cache.base module

class fmn.cache.base.CachedValue[source]

Bases: object

Manage a cached value.

cache_version = 'v1'
async compute_value(db: AsyncSession)[source]
async delete()[source]
async invalidate(db: AsyncSession)[source]
async invalidate_on_message(message: Message, db: AsyncSession)[source]
name = None
async rebuild()[source]

Rebuild the cache.

We don’t pass the database session here because it is run in the background and we want to use our own connection pool.

async refresh()[source]

Rebuild the cache if it is not recent enough.

fmn.cache.base.configure_cache(db_manager=None, **kwargs)[source]