code: def run(self) -> None:
      subprocess.Popen(
          [
              "tensorboard",
              "--logdir",
              str(self.log_dir),
              "--host",
              self.host,
              "--port",
              str(self.port),
          ]
      )
  
      # Download the log directory periodically
      while True:
          time.sleep(self._sync_every_n_seconds)
          if self.log_dir.exists_remote():
              self.log_dir.get(overwrite=True)
  
file_path: pytorch-lightning/src/lightning/app/cli/pl-app-template/core/components/logger/tensorboard.py
imports: import subprocess
  import time
  from typing import Dict, List
  from lightning.app import BuildConfig, LightningFlow, LightningWork
  from lightning.app.storage.path import Path
label_desc: Use image node_id 2 for calling the TensorBoardWorker obj's underlying member method code with example usage: obj.run() without return types