소스 검색

Invalidate domains cache when received an event affecting it

When events handling is enabled, use it for cache invalidation too.
Marek Marczykowski-Górecki 7 년 전
부모
커밋
88b559d985
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      qubesadmin/events/__init__.py

+ 5 - 0
qubesadmin/events/__init__.py

@@ -176,8 +176,13 @@ class EventsDispatcher(object):
     def handle(self, subject, event, **kwargs):
         '''Call handlers for given event'''
         if subject:
+            if event in ['property-set:name']:
+                self.app.domains.clear_cache()
             subject = self.app.domains[subject]
         else:
+            # handle cache refreshing on best-effort basis
+            if event in ['domain-add', 'domain-delete']:
+                self.app.domains.clear_cache()
             subject = None
         for handler in self.handlers.get(event, []):
             handler(subject, event, **kwargs)