Skip to content

Commit 5230a44

Browse files
committed
Pass through extra settings to the worker process
Fixes #78
1 parent 65a99b4 commit 5230a44

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

django_lightweight_queue/management/commands/queue_runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def touch_filename(name: str) -> Optional[str]:
132132
)
133133

134134
def run() -> None:
135-
runner(touch_filename, machine, logger)
135+
runner(touch_filename, machine, logger, extra_settings)
136136

137137
# fork() only after we have started enough to catch failure, including
138138
# being able to write to our pidfile.

django_lightweight_queue/management/commands/queue_worker.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
from typing import Any
22

3-
from django.core.management.base import BaseCommand, CommandParser
3+
from django.core.management.base import CommandParser
44

55
from ...types import QueueName, WorkerNumber
66
from ...worker import Worker
7+
from ...command_utils import CommandWithExtraSettings
78

89

9-
class Command(BaseCommand):
10+
class Command(CommandWithExtraSettings):
1011
help = "Run an individual queue worker" # noqa:A003 # inherited name
1112

1213
def add_arguments(self, parser: CommandParser) -> None:
14+
super().add_arguments(parser)
15+
1316
parser.add_argument(
1417
'queue',
1518
help="queue for which this is a worker",
@@ -40,6 +43,8 @@ def handle(
4043
touch_filename: str,
4144
**options: Any
4245
) -> None:
46+
super().handle_extra_settings(**options)
47+
4348
worker = Worker(
4449
queue=queue,
4550
worker_num=number,

django_lightweight_queue/runner.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ def runner(
2020
touch_filename_fn: Callable[[QueueName], Optional[str]],
2121
machine: Machine,
2222
logger: Logger,
23+
extra_settings_filename: Optional[str],
2324
) -> None:
2425
set_process_title("Master process")
2526

@@ -117,6 +118,12 @@ def handle_term(signum: int, stack: object) -> None:
117118
touch_filename,
118119
])
119120

121+
if extra_settings_filename is not None:
122+
args.extend([
123+
'--extra-settings',
124+
extra_settings_filename,
125+
])
126+
120127
worker = subprocess.Popen(args)
121128
workers[(queue, worker_num)] = (worker, worker_name)
122129

0 commit comments

Comments
 (0)