public function pruneDeadWorkers()
    {
        $workerPids = $this->getLocalWorkerPids();
        $workers = $this->registry->all(); // @todo Maybe findWorkersForHost($hostname) ?
        $hostname = $this->system->getHostname();
        foreach ($workers as $worker) {
            if ($worker instanceof WorkerInterface) {
                $isNotOnCurrentHost = $worker->getHostname() != $hostname;
                $isCurrentlyRunning = in_array($worker->getProcess()->getPid(), $workerPids);
                $isCurrentProcess = $worker->getProcess()->getPid() == $this->system->getCurrentPid();

                if ($isNotOnCurrentHost || $isCurrentlyRunning || $isCurrentProcess) {
                    continue;
                }

                $this->logger->warning('Pruning dead worker {worker}', array('worker' => $worker));
                $this->registry->deregister($worker);
            }
        }
    }