From 7488554a871867abe2e00612e8973dc13da45090 Mon Sep 17 00:00:00 2001 From: Gabe Villalobos Date: Tue, 5 May 2026 15:00:35 -0700 Subject: [PATCH 1/2] Bumps taskbroker-client version --- pyproject.toml | 2 +- uv.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2e105d4b888a28..337f01cb9706c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -102,7 +102,7 @@ dependencies = [ "statsd>=3.3.0", "structlog>=22.1.0", "symbolic>=12.14.1", - "taskbroker-client>=0.1.12,<1", + "taskbroker-client>=0.1.13,<1", "tiktoken>=0.8.0", "tokenizers>=0.22.0", "tldextract>=5.1.2", diff --git a/uv.lock b/uv.lock index 44da4587131e3c..56e637bfb2aa2b 100644 --- a/uv.lock +++ b/uv.lock @@ -2343,7 +2343,7 @@ requires-dist = [ { name = "stripe", specifier = ">=6.7.0" }, { name = "structlog", specifier = ">=22.1.0" }, { name = "symbolic", specifier = ">=12.14.1" }, - { name = "taskbroker-client", specifier = ">=0.1.12,<1" }, + { name = "taskbroker-client", specifier = ">=0.1.13,<1" }, { name = "tiktoken", specifier = ">=0.8.0" }, { name = "tldextract", specifier = ">=5.1.2" }, { name = "tokenizers", specifier = ">=0.22.0" }, @@ -2728,7 +2728,7 @@ wheels = [ [[package]] name = "taskbroker-client" -version = "0.1.12" +version = "0.1.13" source = { registry = "https://pypi.devinfra.sentry.io/simple" } dependencies = [ { name = "confluent-kafka", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, @@ -2746,7 +2746,7 @@ dependencies = [ { name = "zstandard", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, ] wheels = [ - { url = "https://pypi.devinfra.sentry.io/wheels/taskbroker_client-0.1.12-py3-none-any.whl", hash = "sha256:2414495fd629ad44e244da6ad89173c091d2124d2d21ecd4302b5108518ce62a" }, + { url = "https://pypi.devinfra.sentry.io/wheels/taskbroker_client-0.1.13-py3-none-any.whl", hash = "sha256:1983895279909c74cce2c15316cd03c0e671a89ded8d3e65584b08ebc1282845" }, ] [[package]] From 55cfaae29a34df159d3cfb37cd6cb9b91cd90c26 Mon Sep 17 00:00:00 2001 From: Gabe Villalobos Date: Tue, 5 May 2026 16:24:22 -0700 Subject: [PATCH 2/2] Adds new options to task decorator --- src/sentry/tasks/base.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/sentry/tasks/base.py b/src/sentry/tasks/base.py index f628618e3c18bd..438d3cabc53452 100644 --- a/src/sentry/tasks/base.py +++ b/src/sentry/tasks/base.py @@ -46,6 +46,8 @@ def instrumented_task( at_most_once: bool = False, wait_for_delivery: bool = False, compression_type: CompressionType = CompressionType.PLAINTEXT, + report_timeout_errors: bool = True, + silenced_exceptions: tuple[type[BaseException], ...] | None = None, silo_mode: SiloMode | None = None, **kwargs, ) -> Callable[[Callable[P, R]], Task[P, R]]: @@ -110,6 +112,10 @@ def func(): before returning. compression_type : CompressionType The compression type to use to compress the task parameters. + report_timeout_errors : bool + Enable reporting of ProcessingDeadlineExceededError to Sentry. + silenced_exceptions : tuple[type[BaseException], ...] | None + A tuple of exception types that will not be reported by Sentry. silo_mode : SiloMode | None The silo that the task will run in. This should be the silo that the task was called from. """ @@ -123,6 +129,8 @@ def wrapped(func: Callable[P, R]) -> Task[P, R]: at_most_once=at_most_once, wait_for_delivery=wait_for_delivery, compression_type=compression_type, + report_timeout_errors=report_timeout_errors, + silenced_exceptions=silenced_exceptions, )(func) if silo_mode: @@ -144,6 +152,8 @@ def wrapped(func: Callable[P, R]) -> Task[P, R]: at_most_once=at_most_once, wait_for_delivery=wait_for_delivery, compression_type=compression_type, + report_timeout_errors=report_timeout_errors, + silenced_exceptions=silenced_exceptions, )(func) if silo_mode: