Skip to content

feat(taskworker) Make reports tasks compatible with taskworker #90109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

markstory
Copy link
Member

This work is required to migrate tasks from celery to the new taskbroker system. The sentry option will be used to control the rollout of these tasks. The full migration plan is describe in this document.

This work is required to migrate tasks from celery to the new taskbroker system. The sentry option will be used to control the rollout of these tasks. The full migration plan is describe in this [document](https://www.notion.so/sentry/Rollout-Planning-1bd8b10e4b5d80aeaaa7dba0efca83bc).
@markstory markstory requested a review from a team as a code owner April 22, 2025 21:37
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Apr 22, 2025
Copy link

codecov bot commented Apr 22, 2025

❌ 3 Tests Failed:

Tests completed Failed Passed Skipped
25242 3 25239 301
View the top 3 failed test(s) by shortest run time
tests.sentry.tasks.test_weekly_reports.WeeklyReportsTest::test_integration
Stack Traces | 2.97s run time
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:218: in lookup_key
    return self.registry[key]
#x1B[1m#x1B[31mE   KeyError: 'taskworker.reports.rollout'#x1B[0m

#x1B[33mDuring handling of the above exception, another exception occurred:#x1B[0m
#x1B[1m#x1B[.../sentry/tasks/test_weekly_reports.py#x1B[0m:102: in test_integration
    schedule_organizations(timestamp=self.now.timestamp())
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[31m.venv/lib/python3.13.../site-packages/celery/local.py#x1B[0m:182: in __call__
    return self._get_current_object()(*a, **kw)
#x1B[1m#x1B[31m.venv/lib/python3.13.../celery/app/task.py#x1B[0m:411: in __call__
    return self.run(*args, **kwargs)
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:187: in _wrapped
    result = func(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:253: in wrapped
    retry_task(exc)
#x1B[1m#x1B[.../sentry/taskworker/retry.py#x1B[0m:57: in retry_task
    current_task.retry(exc=exc)
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[31m.venv/lib/python3.13.../celery/app/task.py#x1B[0m:720: in retry
    raise_with_context(exc or Retry('Task can be retried', None))
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:243: in wrapped
    return func(*args, **kwargs)
#x1B[1m#x1B[.../tasks/summaries/weekly_reports.py#x1B[0m:110: in schedule_organizations
    prepare_organization_report.delay(
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:78: in override
    if options.isset(option_flag):
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:259: in isset
    opt = self.lookup_key(key)
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:228: in lookup_key
    raise UnknownOption(key)
#x1B[1m#x1B[31mE   sentry.options.manager.UnknownOption: 'taskworker.reports.rollout'#x1B[0m
tests.sentry.tasks.test_weekly_reports.WeeklyReportsTest::test_with_empty_string_user_option
Stack Traces | 3.24s run time
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:218: in lookup_key
    return self.registry[key]
#x1B[1m#x1B[31mE   KeyError: 'taskworker.reports.rollout'#x1B[0m

#x1B[33mDuring handling of the above exception, another exception occurred:#x1B[0m
#x1B[1m#x1B[.../sentry/tasks/test_weekly_reports.py#x1B[0m:124: in test_with_empty_string_user_option
    schedule_organizations(timestamp=self.now.timestamp())
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[31m.venv/lib/python3.13.../site-packages/celery/local.py#x1B[0m:182: in __call__
    return self._get_current_object()(*a, **kw)
#x1B[1m#x1B[31m.venv/lib/python3.13.../celery/app/task.py#x1B[0m:411: in __call__
    return self.run(*args, **kwargs)
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:187: in _wrapped
    result = func(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:253: in wrapped
    retry_task(exc)
#x1B[1m#x1B[.../sentry/taskworker/retry.py#x1B[0m:57: in retry_task
    current_task.retry(exc=exc)
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[31m.venv/lib/python3.13.../celery/app/task.py#x1B[0m:720: in retry
    raise_with_context(exc or Retry('Task can be retried', None))
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:243: in wrapped
    return func(*args, **kwargs)
#x1B[1m#x1B[.../tasks/summaries/weekly_reports.py#x1B[0m:110: in schedule_organizations
    prepare_organization_report.delay(
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:78: in override
    if options.isset(option_flag):
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:259: in isset
    opt = self.lookup_key(key)
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:228: in lookup_key
    raise UnknownOption(key)
#x1B[1m#x1B[31mE   sentry.options.manager.UnknownOption: 'taskworker.reports.rollout'#x1B[0m
tests.sentry.tasks.test_weekly_reports.WeeklyReportsTest::test_message_links_customer_domains
Stack Traces | 3.3s run time
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:218: in lookup_key
    return self.registry[key]
#x1B[1m#x1B[31mE   KeyError: 'taskworker.reports.rollout'#x1B[0m

#x1B[33mDuring handling of the above exception, another exception occurred:#x1B[0m
#x1B[1m#x1B[.../sentry/tasks/test_weekly_reports.py#x1B[0m:148: in test_message_links_customer_domains
    schedule_organizations(timestamp=self.now.timestamp())
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[31m.venv/lib/python3.13.../site-packages/celery/local.py#x1B[0m:182: in __call__
    return self._get_current_object()(*a, **kw)
#x1B[1m#x1B[31m.venv/lib/python3.13.../celery/app/task.py#x1B[0m:411: in __call__
    return self.run(*args, **kwargs)
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:187: in _wrapped
    result = func(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:253: in wrapped
    retry_task(exc)
#x1B[1m#x1B[.../sentry/taskworker/retry.py#x1B[0m:57: in retry_task
    current_task.retry(exc=exc)
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[31m.venv/lib/python3.13.../celery/app/task.py#x1B[0m:720: in retry
    raise_with_context(exc or Retry('Task can be retried', None))
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:243: in wrapped
    return func(*args, **kwargs)
#x1B[1m#x1B[.../tasks/summaries/weekly_reports.py#x1B[0m:110: in schedule_organizations
    prepare_organization_report.delay(
#x1B[1m#x1B[.../sentry/silo/base.py#x1B[0m:158: in override
    return original_method(*args, **kwargs)
#x1B[1m#x1B[.../sentry/tasks/base.py#x1B[0m:78: in override
    if options.isset(option_flag):
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:259: in isset
    opt = self.lookup_key(key)
#x1B[1m#x1B[.../sentry/options/manager.py#x1B[0m:228: in lookup_key
    raise UnknownOption(key)
#x1B[1m#x1B[31mE   sentry.options.manager.UnknownOption: 'taskworker.reports.rollout'#x1B[0m

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Backend Automatically applied to PRs that change backend components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant