def METHOD_NAME(self, node, **kwargs):
    idx = self.idx(node)
    if idx in self.worker_threads and self.worker_threads[idx].is_alive():
        raise RuntimeError("Cannot restart node since previous thread is still alive")
    self.logger.info("Running %s node %d on %s", self.service_id, idx, node.account.hostname)
    worker = threading.Thread(
        name=self.service_id + "-worker-" + str(idx),
        target=self._protected_worker,
        args=(idx, node),
        kwargs=kwargs
    )
    worker.daemon = True
    worker.start()
    self.worker_threads[idx] = worker