From c9c9bda8692a8666f09fe2fc6732b98ecf7a5f0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Misty=20De=20M=C3=A9o?= Date: Mon, 10 Mar 2025 14:02:49 -0700 Subject: [PATCH] fix: bind worker_id inside BrozzlerWorker This ensures the parameter remains available within a multithreaded context. --- brozzler/cli.py | 2 ++ brozzler/worker.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/brozzler/cli.py b/brozzler/cli.py index 52d4283..784de86 100755 --- a/brozzler/cli.py +++ b/brozzler/cli.py @@ -369,6 +369,7 @@ def brozzle_page(argv=None): metrics_port=args.metrics_port, registry_url=args.registry_url, env=args.env, + worker_id=args.worker_id, ) def on_screenshot(screenshot_jpeg): @@ -701,6 +702,7 @@ def brozzler_worker(argv=None): metrics_port=args.metrics_port, registry_url=args.registry_url, env=args.env, + worker_id=args.worker_id, ) signal.signal(signal.SIGQUIT, dump_state) diff --git a/brozzler/worker.py b/brozzler/worker.py index 0c43308..8770412 100644 --- a/brozzler/worker.py +++ b/brozzler/worker.py @@ -81,6 +81,7 @@ class BrozzlerWorker: metrics_port=0, registry_url=None, env=None, + worker_id=None, ): self._frontier = frontier self._service_registry = service_registry @@ -95,6 +96,9 @@ class BrozzlerWorker: self._skip_visit_hashtags = skip_visit_hashtags self._skip_youtube_dl = skip_youtube_dl + if worker_id is not None: + self.logger = self.logger.bind(worker_id=worker_id) + # We definitely shouldn't ytdlp if the optional extra is missing try: import yt_dlp