def _modify_job(background_job: Job,
                job_modification: Dict[Text, Union[bool, Dict, Set]]) -> None:
    changes = {}
    job_id = background_job.id
    run_immediately = job_modification.pop("run_immediately", False)

    if run_immediately:
        changes["next_run_time"] = datetime.now()
        logger.debug(f"Running job with id '{job_id}' immediately.")

    # Set keyword arguments to call scheduled job function with
    changes["kwargs"] = _get_merged_job_kwargs(background_job,
                                               job_modification)

    background_job.modify(**changes)
    logger.debug(f"Modifying job with id '{background_job.id}'.")