@@ -19,37 +19,40 @@ def cleanup_stale_cache():
1919    vespa  =  get_vespa_app ()
2020
2121    while  True :
22-         stale_qs  =  EmbeddedFile .objects .prefetch_related (
23-             "embeddings_references" 
24-         ).filter (
25-             updated_at__lt = timezone .now () -  timedelta (days = STALENESS_THRESHOLD_DAYS )
26-         ).order_by ("updated_at" )[:BATCH_SIZE ]
22+         stale_qs  =  (
23+             EmbeddedFile .objects .prefetch_related ("embeddings_references" )
24+             .filter (
25+                 updated_at__lt = timezone .now () -  timedelta (days = STALENESS_THRESHOLD_DAYS )
26+             )
27+             .order_by ("updated_at" )[:BATCH_SIZE ]
28+         )
2729        stale_files  =  list (stale_qs )
2830        if  not  stale_files :
2931            break 
32+ 
3033        docs_to_delete  =  (
3134            {"id" : ref .vespa_doc_id }
3235            for  ef  in  stale_files 
3336            for  ref  in  ef .embeddings_references .all ()
3437        )
35-         if   docs_to_delete : 
36-              total_deleted   =   0 
37- 
38-             def   vespa_callback ( response :  "VespaResponse" ,  id :  str ): 
39-                  nonlocal   total_deleted 
40-                 if   response . is_successful (): 
41-                      total_deleted   +=   1 
42-                 else : 
43-                     print ( 
44-                          f"Failed to delete document  { id }  from Vespa:  { getattr ( response , 'status_code' ,  'NA' ) }  -  { response . get_json () } " 
45-                     ) 
46-              vespa .feed_iterable (
47-                  docs_to_delete ,
48-                  schema = settings .VESPA_SCHEMA ,
49-                  operation_type = "delete" ,
50-                  callback = vespa_callback ,
51-              )
52-              print (f"Deleted { total_deleted }  )
38+         total_deleted   =   0 
39+ 
40+          def   vespa_callback ( response :  "VespaResponse" ,  id :  str ): 
41+             nonlocal   total_deleted 
42+             if   response . is_successful (): 
43+                 total_deleted   +=   1 
44+             else : 
45+                 print ( 
46+                     f"Failed to delete document  { id }  from Vespa:  { getattr ( response ,  'status_code' ,  'NA' ) }  -  { response . get_json () } " 
47+                 ) 
48+ 
49+         vespa .feed_iterable (
50+             docs_to_delete ,
51+             schema = settings .VESPA_SCHEMA ,
52+             operation_type = "delete" ,
53+             callback = vespa_callback ,
54+         )
55+         print (f"Deleted { total_deleted }  )
5356
5457        deleted_per_model  =  EmbeddedFile .objects .filter (
5558            id__in = [ef .id  for  ef  in  stale_files ]
0 commit comments