From 6a407af0047c2fe7b50e0d6ff3ad5f14dd62156f Mon Sep 17 00:00:00 2001 From: Ihor Sokhan Date: Tue, 4 Nov 2025 18:31:38 +0200 Subject: [PATCH 1/2] added stack variables and traceback for embargo_registration script in sentry --- scripts/embargo_registrations.py | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/scripts/embargo_registrations.py b/scripts/embargo_registrations.py index 626824c24c2..88ecaa59f00 100644 --- a/scripts/embargo_registrations.py +++ b/scripts/embargo_registrations.py @@ -18,7 +18,7 @@ from framework.celery_tasks import app as celery_app from website import settings -from osf.models import Embargo, Registration, NodeLog +from osf.models import Embargo, Registration from scripts import utils as scripts_utils @@ -59,17 +59,27 @@ def main(dry_run=True): embargo.accept() transaction.savepoint_commit(sid) except Exception as err: + root = parent_registration._dirty_root + embargo = root.embargo + logger.error( f'Unexpected error raised when activating embargo for ' - f'registration {parent_registration._id}. Continuing...' + f'registration {parent_registration._id}. Error: {err}', + exc_info=err, + extra={ + 'is_public': root.is_public, + 'approval_stage': embargo.approval_stage.name, + 'is_approved': root.embargo.is_approved + } ) logger.exception(err) - sentry.log_message(str(err)) + sentry.log_exception(err) + transaction.savepoint_rollback(sid) active_embargoes = Embargo.objects.filter(state=Embargo.APPROVED) for embargo in active_embargoes: - if embargo.end_date < timezone.now() and not embargo.is_deleted: + if True: if dry_run: logger.warning('Dry run mode') parent_registration = Registration.objects.get(embargo=embargo) @@ -89,11 +99,21 @@ def main(dry_run=True): parent_registration.terminate_embargo() transaction.savepoint_commit(sid) except Exception as err: + root = parent_registration._dirty_root + embargo = root.embargo + logger.error( f'Registration {parent_registration._id} could not be made public because {str(err)}', - exc_info=err + exc_info=err, + extra={ + 'is_public': root.is_public, + 'approval_stage': embargo.approval_stage.name, + 'is_approved': root.embargo.is_approved + } ) - sentry.log_message(f'Registration {parent_registration._id} could not be made public because {str(err)}') + logger.exception(err) + sentry.log_exception(err) + transaction.savepoint_rollback(sid) From 56dd6dcb8bf166261900ce8a450c26c551fc88d5 Mon Sep 17 00:00:00 2001 From: Ihor Sokhan Date: Tue, 4 Nov 2025 18:34:09 +0200 Subject: [PATCH 2/2] returned old statement --- scripts/embargo_registrations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/embargo_registrations.py b/scripts/embargo_registrations.py index 88ecaa59f00..8291b611b2e 100644 --- a/scripts/embargo_registrations.py +++ b/scripts/embargo_registrations.py @@ -79,7 +79,7 @@ def main(dry_run=True): active_embargoes = Embargo.objects.filter(state=Embargo.APPROVED) for embargo in active_embargoes: - if True: + if embargo.end_date < timezone.now() and not embargo.is_deleted: if dry_run: logger.warning('Dry run mode') parent_registration = Registration.objects.get(embargo=embargo)