def delete(self, job_id):
        """
        Method to remove a job from the queue completely
        and cancel current hashcat job if it's already running.
        This will remove all trace of the job

        Arguments
        ---------
        job_id: str
            hex reprisentation of uuid job ID

        Returns
        ------
        HTTP 200 or 204 depending on what state job is in

        """
        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
        try:
            logger.debug('Deleting job: {:s}'.format(job_id))
            job = self.q.fetch_job(job_id)
            started = rq.registry.StartedJobRegistry(queue=self.q)
            cur_list = started.get_job_ids()
            speed_session = '{}_speed'.format(job_id)
            speed_job = self.speed_q.fetch_job(speed_session)
            if speed_job:
                logger.debug('Deleting Speed Job')
                speed_job.meta['CrackQ State'] = 'Delete'
                speed_job.save_meta()
                if speed_job.get_status() != 'started':
                    speed_job.delete()
            if job_id in cur_list:
                job.meta['CrackQ State'] = 'Delete'
                job.save_meta()
                del_thread = threading.Thread(target=del_job, args=(job,))
                del_thread.start()
                return {'msg': 'Deleted Job'}, 204
            del_jobid(job_id)
            job.delete()
            started.cleanup()
            return jsonify({'msg': 'Deleted Job'}), 200
        except AttributeError as err:
            logger.error('Failed to delete job: {}'.format(err))
            return jsonify(ERR_INVAL_JID), 404

        Method to remove a job from the queue completely
        and cancel current hashcat job if it's already running.
        This will remove all trace of the job

        Arguments
        ---------
        job_id: str
            hex reprisentation of uuid job ID

        Returns
        ------
        HTTP 200 or 204 depending on what state job is in

        
crackq/cq_api.py