def get(self, job_id):
        """
        Method to get job status

        job_id: str
            hex reprisentation of uuid job ID

        Returns
        ------

        """
        time_now = datetime.now().strftime("%Y-%m-%d %H:%M")
        time_now = datetime.strptime(time_now, '%Y-%m-%d %H:%M')
        current_user.last_seen = time_now
        db.session.commit()
        ###***re-add this for validation?
        #args = marsh_schema.data
        started = rq.registry.StartedJobRegistry(queue=self.q)
        failed = rq.registry.FailedJobRegistry(queue=self.q)
        cur_list = started.get_job_ids()
        ###**update all connections to user get_current_connection()??
        self.zombie_check(started, failed, cur_list)
        q_dict = self.crack_q.q_monitor(self.q)
        logger.debug('Current jobs: {}'.format(cur_list))
        failed_dict = self.crack_q.check_failed(self.q)
        comp_list = self.crack_q.check_complete(self.q)
        last_comp = []
        end_times = {}
        if len(comp_list) > 0:
            ###***make this a function/method
            for j in comp_list:
                if check_jobid(j):
                    job = self.q.fetch_job(j)
                    if job:
                        ended = job.ended_at
                        if ended:
                            end_times[j] = ended
            if len(end_times) > 0:
                latest = max(end_times, key=end_times.get)
            else:
                latest = None
            if latest:
                job = self.q.fetch_job(latest)
            else:
                job = None
            if job:
                try:
                    job_name = get_jobdetails(job.description)['name']
                except KeyError:
                    job_name = 'No name'
                except AttributeError:
                    job_name = 'No name'
                # just a single job for now
                last_comp = [{'job_name': job_name,
                              'job_id': latest}]
        else:
            last_comp = [{'job_name': 'None'}]
        q_dict['Last Complete'] = last_comp
        logger.debug('Completed jobs: {}'.format(comp_list))
        logger.debug('q_dict: {}'.format(q_dict))
        if not job_id.isalnum():
            return jsonify(ERR_INVAL_JID), 500
        if job_id == 'all':
            ###***definitely make these a function
            if len(cur_list) > 0:
                job = self.q.fetch_job(cur_list[0])
                if current_user.job_ids and job:
                    if cur_list[0] in json.loads(current_user.job_ids):
                        job.meta['email_count'] = 0
                        job.save()
                if job:
                    if 'HC State' in job.meta:
                        ###***remove this?
                        if isinstance(job.meta['HC State'], dict):
                            job_details = get_jobdetails(job.description)
                            try:
                                q_dict['Current Job'][cur_list[0]]['Job Details'] = job_details
                            except KeyError:
                                logger.error('No job to update - does not exist')
                else:
                    logger.error('No Queue')
            if len(q_dict) > 0:
                for qjob_id in q_dict['Queued Jobs']:
                    job = self.q.fetch_job(qjob_id)
                    job_details = get_jobdetails(job.description)
                    q_dict['Queued Jobs'][qjob_id]['Job Details'] = job_details
            return jsonify(q_dict), 200
        elif job_id == 'failed':
            return jsonify(failed_dict), 200
        elif job_id == 'failedless':
            failess_dict = {}
            for job_id in failed_dict:
                if check_jobid(job_id):
                    failess_dict[job_id] = failed_dict[job_id]
            return jsonify(failess_dict), 200
        elif job_id == 'complete':
            comp_dict = {}
            comp_dict = self.get_comp_dict(comp_list, session=False)
            return jsonify(comp_dict), 200
        elif job_id == 'completeless':
            comp_dict = {}
            comp_dict = self.get_comp_dict(comp_list, session=True)
            return jsonify(comp_dict), 200
        else:
            try:
                marsh_schema = parse_json_schema().load({'job_id': job_id})
                job_id = marsh_schema['job_id'].hex
            except ValidationError as errors:
                logger.debug('Validation error: {}'.format(errors))
                return errors.messages, 500
            if check_jobid(job_id):
                job = self.q.fetch_job(job_id)
                if job:
                    cracked_file = '{}{}.cracked'.format(self.log_dir, job_id)
                    job_details = get_jobdetails(job.description)
                    if job_id in q_dict['Queued Jobs']:
                        job_dict = {
                            'Status': 'Queued',
                            'Time started': None,
                            'Time finished': None,
                            'Job Details': job_details,
                            'Result': job.result,
                            'HC State': job.meta,
                            }
                    else:
                        job_dict = {
                            'Status': job.get_status(),
                            'Time started': str(job.started_at),
                            'Time finished': str(job.ended_at),
                            'Job Details': job_details,
                            'Result': job.result,
                            'HC State': job.meta,
                            }
                    try:
                        with open(cracked_file, 'r') as cracked_fh:
                            job_dict['Cracked'] = [crack.strip() for crack in cracked_fh]
                    except IOError as err:
                        logger.debug('Cracked file does not exist: {}'.format(err))
                    return jsonify(job_dict), 200
                else:
                    return abort(404)
            else:
                return abort(401)

        Method to get job status

        job_id: str
            hex reprisentation of uuid job ID

        Returns
        ------

        
crackq/cq_api.py