1
我有一個與定時器類掛鉤的mongo包裝,基本上,每當集合被更新或保存時,它都會產生一個計時器,該計時器在計時器到期時又執行一個給定的函數。我的問題是,指定這些函數的pythonic方式是什麼?我的想法是簡單地將它們添加到集合包裝是這樣的:Python的類屬性與元類與類變量
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()
然後我可以再補充我的定時器類的邏輯來運行指定的函數過期,同爲我蒙戈包裝時。這也可以通過不同的方式實現(類Meta,強化屬性名稱等),但我只是想知道在做這樣的事情時一般的共識。