Monitor the status of a job.

        ## Arguments

        * `job_id` (int): The job to check.
        * `timeout` (float): The time to wait between checks (in sec).

        ## Returns

        * `code` (int): The status.
        * `status` (str): The human-readable name of the current status.

def monitor(self, job_id, timeout=5):
        """
        Monitor the status of a job.

        ## Arguments

        * `job_id` (int): The job to check.
        * `timeout` (float): The time to wait between checks (in sec).

        ## Returns

        * `code` (int): The status.
        * `status` (str): The human-readable name of the current status.

        """
        while True:
            status = self.status(job_id)
            logging.info("Monitoring job: %d - Status: %d, %s"
                    %(job_id, status[0], status[1]))
            if status[0] in [3, 4, 5]:
                return status
            time.sleep(timeout)