Skip to content

Commit 0595731

Browse files
sentrivanaclaude
andcommitted
fix(rq): Move BaseWorker import back to module level
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 227a8b4 commit 0595731

File tree

1 file changed

+9
-6
lines changed
  • sentry_sdk/integrations

1 file changed

+9
-6
lines changed

sentry_sdk/integrations/rq.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@
2323
except ImportError:
2424
raise DidNotEnable("RQ not installed")
2525

26+
try:
27+
from rq.worker import BaseWorker
28+
29+
if not hasattr(BaseWorker, "perform_job"):
30+
BaseWorker = None
31+
except ImportError:
32+
BaseWorker = None
33+
2634
from typing import TYPE_CHECKING
2735

2836
if TYPE_CHECKING:
@@ -47,12 +55,7 @@ def setup_once() -> None:
4755
# instead of Worker, so we need to patch BaseWorker to cover both.
4856
# For older versions where BaseWorker doesn't exist or doesn't have
4957
# perform_job, we patch Worker.
50-
try:
51-
from rq.worker import BaseWorker
52-
53-
worker_cls = BaseWorker if hasattr(BaseWorker, "perform_job") else Worker
54-
except ImportError:
55-
worker_cls = Worker
58+
worker_cls = BaseWorker if BaseWorker is not None else Worker
5659

5760
old_perform_job = worker_cls.perform_job
5861

0 commit comments

Comments
 (0)