@@ -200,7 +200,7 @@ async def lifespan(app: FastAPI):
200200 scheduler .shutdown ()
201201
202202
203- @scheduler .scheduled_job ('cron ' , hour = 0 , minute = 0 )
203+ @scheduler .scheduled_job ('interval ' , hours = 1 )
204204async def delete_old_logs_job ():
205205 """
206206 We run cron job at midnight every day that wipes all WebhookLogs older than 15 days
@@ -227,29 +227,30 @@ def get_count(date_to_delete_before: datetime) -> int:
227227
228228
229229@celery_app .task
230- @logfire .no_auto_trace
231230def _delete_old_logs_job ():
232231 # with logfire.span('Started to delete old logs'):
233232 with Session (engine ) as db :
234233 # Get all logs older than 15 days
235234 date_to_delete_before = datetime .now (UTC ) - timedelta (days = 15 )
236- # with logfire.span(
237- # 'Deleting webhooks for {date_to_delete_before=}', date_to_delete_before=date_to_delete_before
238- # ):
239235 count = get_count (date_to_delete_before )
240- delete_limit = 4999
241- while count > 0 :
242- app_logger .info (f'Deleting { count } logs' )
243- logs_to_delete = db .exec (
244- select (WebhookLog ).where (WebhookLog .timestamp < date_to_delete_before ).limit (delete_limit )
245- ).all ()
246- delete_statement = delete (WebhookLog ).where (WebhookLog .id .in_ (log .id for log in logs_to_delete ))
247- db .exec (delete_statement )
248- db .commit ()
249- count -= delete_limit
250-
251- del logs_to_delete
252- del delete_statement
253- gc .collect ()
236+ with logfire .span (
237+ 'Deleting {count=} webhooks before {date_to_delete_before=}' ,
238+ date_to_delete_before = date_to_delete_before ,
239+ count = count ,
240+ ):
241+ delete_limit = 4999
242+ while count > 0 :
243+ app_logger .info (f'Deleting { count } logs' )
244+ logs_to_delete = db .exec (
245+ select (WebhookLog ).where (WebhookLog .timestamp < date_to_delete_before ).limit (delete_limit )
246+ ).all ()
247+ delete_statement = delete (WebhookLog ).where (WebhookLog .id .in_ (log .id for log in logs_to_delete ))
248+ db .exec (delete_statement )
249+ db .commit ()
250+ count -= delete_limit
251+
252+ del logs_to_delete
253+ del delete_statement
254+ gc .collect ()
254255
255256 cache .delete (DELETE_JOBS_KEY )
0 commit comments