@@ -310,20 +310,18 @@ def _update_usage_history(self, items, info):
310310 info_copy = dict (info or {})
311311 info_copy .pop ("chat_history" , None )
312312 usage_record = json .dumps ({"time" : now_time , "info" : info_copy })
313-
314313 payload = []
315314 for it in items :
316315 try :
317316 item_id = getattr (it , "id" , None )
318- usage = []
319- if (
320- getattr (it , "metadata" , None )
321- and hasattr (it .metadata , "usage" )
322- and it .metadata .usage
323- ):
324- usage = list (it .metadata .usage )
317+ md = getattr (it , "metadata" , None )
318+ if md is None :
319+ continue
320+ if not hasattr (md , "usage" ) or md .usage is None :
321+ md .usage = []
322+ md .usage .append (usage_record )
325323 if item_id :
326- payload .append ((item_id , usage ))
324+ payload .append ((item_id , list ( md . usage ) ))
327325 except Exception :
328326 logger .exception ("[USAGE] snapshot item failed" )
329327
@@ -333,8 +331,6 @@ def _update_usage_history(self, items, info):
333331 def _update_usage_history_worker (self , payload , usage_record : str ):
334332 try :
335333 for item_id , usage_list in payload :
336- new_list = list (usage_list )
337- new_list .append (usage_record )
338- self .graph_store .update_node (item_id , {"usage" : new_list })
334+ self .graph_store .update_node (item_id , {"usage" : usage_list })
339335 except Exception :
340336 logger .exception ("[USAGE] update usage failed" )
0 commit comments