cubicweb/hooks/__init__.py
branch3.25
changeset 12112 0a54f49314f6
parent 12012 f7ff5217a02f
child 12145 752b94ed9748
equal deleted inserted replaced
12111:cd069068a5ef 12112:0a54f49314f6
    27     """start task to cleanup transaction data"""
    27     """start task to cleanup transaction data"""
    28     __regid__ = 'cw.looping-tasks.transactions-cleanup'
    28     __regid__ = 'cw.looping-tasks.transactions-cleanup'
    29     events = ('server_startup',)
    29     events = ('server_startup',)
    30 
    30 
    31     def __call__(self):
    31     def __call__(self):
    32         if self.repo._scheduler is None:
    32         if not self.repo.has_scheduler():
    33             return
    33             return
    34         # XXX use named args and inner functions to avoid referencing globals
    34         # XXX use named args and inner functions to avoid referencing globals
    35         # which may cause reloading pb
    35         # which may cause reloading pb
    36         lifetime = timedelta(days=self.repo.config['keep-transaction-lifetime'])
    36         lifetime = timedelta(days=self.repo.config['keep-transaction-lifetime'])
    37         def cleanup_old_transactions(repo=self.repo, lifetime=lifetime):
    37         def cleanup_old_transactions(repo=self.repo, lifetime=lifetime):
    49     """start task to update datafeed based sources"""
    49     """start task to update datafeed based sources"""
    50     __regid__ = 'cw.looping-tasks.update-feeds'
    50     __regid__ = 'cw.looping-tasks.update-feeds'
    51     events = ('server_startup',)
    51     events = ('server_startup',)
    52 
    52 
    53     def __call__(self):
    53     def __call__(self):
    54         if self.repo._scheduler is None:
    54         if not self.repo.has_scheduler():
    55             return
    55             return
    56         def update_feeds(repo):
    56         def update_feeds(repo):
    57             # take a list to avoid iterating on a dictionary whose size may
    57             # take a list to avoid iterating on a dictionary whose size may
    58             # change
    58             # change
    59             for uri, source in list(repo.sources_by_uri.items()):
    59             for uri, source in list(repo.sources_by_uri.items()):
    73     """start task to cleanup old data imports (ie datafeed import logs)"""
    73     """start task to cleanup old data imports (ie datafeed import logs)"""
    74     __regid__ = 'cw.looping-tasks.dataimports-cleanup'
    74     __regid__ = 'cw.looping-tasks.dataimports-cleanup'
    75     events = ('server_startup',)
    75     events = ('server_startup',)
    76 
    76 
    77     def __call__(self):
    77     def __call__(self):
    78         if self.repo._scheduler is None:
    78         if not self.repo.has_scheduler():
    79             return
    79             return
    80         def expire_dataimports(repo=self.repo):
    80         def expire_dataimports(repo=self.repo):
    81             for uri, source in repo.sources_by_uri.items():
    81             for uri, source in repo.sources_by_uri.items():
    82                 if (uri == 'system'
    82                 if (uri == 'system'
    83                     or not repo.config.source_enabled(source)):
    83                     or not repo.config.source_enabled(source)):