def METHOD_NAME(config):
    """
    Tests that worker_for_job works when there are multiple workers.
    """
    queue_name = "test_worker_for_job"
    q = worker_process = second_process = None
    try:
        q = worker.create_queue(queue_name)
        assert len(worker.rq_workers(q)) == 0
        # launch worker processes
        worker_process = start_rq_worker(config, queue_name)
        second_process = start_rq_worker(config, queue_name)
        i = 0
        while i < 20:
            if len(worker.rq_workers(q)) == 2:
                break
            time.sleep(0.1)
        assert len(worker.rq_workers(q)) == 2
        worker.rq_workers(q)[0].set_state(WorkerStatus.SUSPENDED)
        logging.debug(
            [
                f"{w.pid}: state={w.get_state()}, job={w.get_current_job_id()}"
                for w in worker.rq_workers(q)
            ]
        )
        # submit a job that sleeps for an hour
        job = q.enqueue(layabout)
        i = 0
        while i < 20:
            w = worker.worker_for_job(job.id)
            if w:
                break
            i += 1
            time.sleep(0.1)
        assert w is not None
    finally:
        q.delete()
        if worker_process:
            try:
                os.killpg(worker_process.pid, 0)
                os.killpg(worker_process.pid, signal.SIGKILL)
            except OSError:
                logging.debug("worker_process already gone.")
        if second_process:
            try:
                os.killpg(second_process.pid, 0)
                os.killpg(second_process.pid, signal.SIGKILL)
            except OSError:
                logging.debug("second_process already gone.")