Skip to content

Commit 952e8d7

Browse files
committed
Identifying if logfire is causing the excess memory usage
1 parent 737db33 commit 952e8d7

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

chronos/worker.py

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import asyncio
2+
import gc
23
import hashlib
34
import hmac
45
import json
@@ -228,25 +229,27 @@ def get_count(date_to_delete_before: datetime) -> int:
228229

229230
@celery_app.task
230231
def _delete_old_logs_job():
231-
with logfire.span('Started to delete old logs'):
232-
with Session(engine) as db:
233-
# Get all logs older than 15 days
234-
date_to_delete_before = datetime.now(UTC) - timedelta(days=15)
235-
with logfire.span(
236-
'Deleting webhooks for {date_to_delete_before=}', date_to_delete_before=date_to_delete_before
237-
):
238-
count = get_count(date_to_delete_before)
239-
delete_limit = 4999
240-
while count > 0:
241-
app_logger.info(f'Deleting {count} logs')
242-
deleting_count = min(count, delete_limit)
243-
with logfire.span('Deleting {count=}', count=deleting_count):
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
232+
# with logfire.span('Started to delete old logs'):
233+
with Session(engine) as db:
234+
# Get all logs older than 15 days
235+
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+
# ):
239+
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()
251254

252255
cache.delete(DELETE_JOBS_KEY)

0 commit comments

Comments
 (0)