diff --git a/asset.py b/asset.py index c33b7bc..b6b87f0 100644 --- a/asset.py +++ b/asset.py @@ -827,6 +827,12 @@ class Asset(SymbolMixin, ModelSQL, ModelView): ('product.identifiers.code',) + tuple(clause[1:]), ] + @classmethod + def after_update_actions(cls, assets): + """ run activities after rate-update + """ + pass + @classmethod def cron_update(cls): """ update asset-rates @@ -837,10 +843,15 @@ class Asset(SymbolMixin, ModelSQL, ModelView): context = Transaction().context query_time = context.get('qdatetime', CurrentTimestamp()) + to_run_activities = [] for asset in Asset2.search([ ('nextupdate', '<=', query_time), ]): - OnlineSource.update_rate(asset) + if OnlineSource.update_rate(asset): + to_run_activities.append(asset) + + if len(to_run_activities) > 0: + cls.after_update_actions(to_run_activities) # end Asset