def update_fsics(cls, fsics, sync_filter):
internal_fsic = DatabaseMaxCounter.calculate_filter_max_counters(sync_filter)
updated_fsic = {}
for key, value in iteritems(fsics):
if key in internal_fsic:
# if same instance id, update fsic with larger value
if fsics[key] > internal_fsic[key]:
updated_fsic[key] = fsics[key]
else:
# if instance id is not present, add it to updated fsics
updated_fsic[key] = fsics[key]
# load database max counters
for (key, value) in iteritems(updated_fsic):
for f in sync_filter:
DatabaseMaxCounter.objects.update_or_create(instance_id=key, partition=f, defaults={'counter': value})
评论列表
文章目录