code: def write_backup_state_to_json_file(self):
          
          start_time = time.time()
          state_file_path = self.config["json_state_file_path"]
          self.state["walreceivers"] = {
              key: {"latest_activity": value.latest_activity, "running": value.running,
                    "last_flushed_lsn": value.last_flushed_lsn}
              for key, value in self.walreceivers.items()
          }
          self.state["pg_receivexlogs"] = {
              key: {"latest_activity": value.latest_activity, "running": value.running}
              for key, value in self.receivexlogs.items()
          }
          self.state["pg_basebackups"] = {
              key: {"latest_activity": value.latest_activity, "running": value.running}
              for key, value in self.basebackups.items()
          }
          self.state["compressors"] = [compressor.state for compressor in self.compressors]
          self.state["transfer_agents"] = [ta.state for ta in self.transfer_agents]
          self.state["queues"] = {
              "compression_queue": self.compression_queue.qsize(),
              "transfer_queue": self.transfer_queue.qsize(),
          }
          self.log.debug("Writing JSON state file to %r", state_file_path)
          write_json_file(state_file_path, self.state)
          self.log.debug("Wrote JSON state file to disk, took %.4fs", time.time() - start_time)
docs: Periodically write a JSON state file to disk