我有一个带有计时器类挂钩的 mongo 包装器,基本上,每次更新或保存集合时,它都会生成一个计时器,该计时器在到期时依次执行给定的函数。我的问题是,指定这些函数的pythonic方法是什么?我的想法是像这样简单地将它们添加到集合包装器中:
class TestCollection(Collection):
__name__ = 'test_collection'
__database__ = 'test'
__primary_key__ = 'field_1'
post_delete = 'call_this_func_with_getattr_after_delete'
expire = 'also_call_this_with_getattr_when_timer_expires'
field_1 = Key()
field_2 = Key()
field_3 = Key()
然后我可以在我的计时器类上添加逻辑以在过期时运行指定的函数,对于我的 mongo 包装器也是如此。这也可以通过不同的方式来实现(元类、损坏的属性名称等),但我只是想知道在做这样的事情时的普遍共识。