From 2553e321d74223270c6fc98173880e303d697c32 Mon Sep 17 00:00:00 2001 From: Yan Kevych Date: Sat, 8 Nov 2025 19:46:27 +0200 Subject: [PATCH] Allow worker setting inheritance Read Worker class attibutes (settings) from partent classes --- arq/worker.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/arq/worker.py b/arq/worker.py index f1e613c9..2f3a037c 100644 --- a/arq/worker.py +++ b/arq/worker.py @@ -881,8 +881,12 @@ def __repr__(self) -> str: def get_kwargs(settings_cls: 'WorkerSettingsType') -> Dict[str, NameError]: worker_args = set(inspect.signature(Worker).parameters.keys()) - d = settings_cls if isinstance(settings_cls, dict) else settings_cls.__dict__ - return {k: v for k, v in d.items() if k in worker_args} + if isinstance(settings_cls, dict): + return {k: v for k, v in settings_cls.items() if k in worker_args} + else: + return { + k: getattr(settings_cls, k) for k in dir(settings_cls) if k in worker_args + } def create_worker(settings_cls: 'WorkerSettingsType', **kwargs: Any) -> Worker: