@@ -52,20 +52,25 @@ def unfurl_version_range(self):
5252 processed_impacted_packages_count = 0
5353 processed_affected_packages_count = 0
5454 cached_versions = {}
55- impacts_to_update = []
56- update_batch_size = 5
55+ update_unfurl_date = []
56+ update_successful_unfurl_date = []
57+ update_batch_size = 5000
58+ chunk_size = 5000
5759
5860 impacted_packages = impacted_package_qs (cutoff_day = self .reunfurl_after_days )
5961 impacted_packages_count = impacted_packages .count ()
6062 self .log (f"Unfurl affected vers range for { impacted_packages_count :,d} ImpactedPackage." )
6163
62- progress = LoopProgress (total_iterations = impacted_packages_count , logger = self .log )
63- for impact in progress .iter (impacted_packages .iterator (chunk_size = 5000 )):
64- impacts_to_update .append (impact .pk )
64+ progress = LoopProgress (
65+ total_iterations = impacted_packages_count , progress_step = 5 , logger = self .log
66+ )
67+ for impact in progress .iter (impacted_packages .iterator (chunk_size = chunk_size )):
68+ update_unfurl_date .append (impact .pk )
6569 purl = PackageURL .from_string (impact .base_purl )
6670 if not impact .affecting_vers or not any (
6771 c in impact .affecting_vers for c in ("<" , ">" , "!" )
6872 ):
73+ update_successful_unfurl_date .append (impact .pk )
6974 continue
7075 if purl .type not in FETCHCODE_SUPPORTED_ECOSYSTEMS :
7176 continue
@@ -87,17 +92,25 @@ def unfurl_version_range(self):
8792 relation = ImpactedPackageAffecting ,
8893 logger = self .log ,
8994 )
95+ update_successful_unfurl_date .append (impact .pk )
9096 processed_impacted_packages_count += 1
9197
92- if len (impacts_to_update ) > update_batch_size :
93- ImpactedPackage .objects .filter (pk__in = impacts_to_update ).update (
98+ if len (update_unfurl_date ) > update_batch_size :
99+ ImpactedPackage .objects .filter (pk__in = update_unfurl_date ).update (
94100 last_range_unfurl_at = timezone .now ()
95101 )
96- impacts_to_update .clear ()
102+ ImpactedPackage .objects .filter (pk__in = update_successful_unfurl_date ).update (
103+ last_successful_range_unfurl_at = timezone .now ()
104+ )
105+ update_unfurl_date .clear ()
106+ update_successful_unfurl_date .clear ()
97107
98- ImpactedPackage .objects .filter (pk__in = impacts_to_update ).update (
108+ ImpactedPackage .objects .filter (pk__in = update_unfurl_date ).update (
99109 last_range_unfurl_at = timezone .now ()
100110 )
111+ ImpactedPackage .objects .filter (pk__in = update_successful_unfurl_date ).update (
112+ last_successful_range_unfurl_at = timezone .now ()
113+ )
101114 self .log (f"Successfully processed { processed_impacted_packages_count :,d} ImpactedPackage." )
102115 self .log (f"{ processed_affected_packages_count :,d} new Impact-Package relation created." )
103116
0 commit comments