Example #1
0
    def reset(job_id):
        job = Job.query.get(job_id)
        if job:
            if job.status in ['active', 'waiting']:
                logging.error("Job {0} is running".format(job_id))
                response = jsonify({
                    'code' : 400,
                    'message': "This job is running, stop it first."})
                response.status_code = 400
                return response
            else:
                log = "Status changed from {0} to {1}".format(job.status, 'waiting')
                job.status = 'waiting'
                job.tasks_status = json.dumps({
                    'count': job.tasks.count(),
                    'completed': 0,
                    'failed': 0,
                    'canceled': 0})
                job.date_edit = datetime.now()
                db.session.commit()
                log_to_database(job_id, 'job', log)

                TaskApi.delete_tasks(job.id)
                TaskApi.create_tasks(job)
                logging.info('Job {0} reset end ready'.format(job_id))

        else:
            logging.error("Job {0} not found".format(job_id))
            raise KeyError
Example #2
0
    def reset(job_id):
        job = Job.query.get(job_id)
        if job.status == 'running':
            logging.error('Job {0} is running'.format(job_id))
            response = jsonify({
                'code' : 400,
                'message': 'This job is running, stop it first.'})
            response.status_code = 400
            return response
        else:
            job.current_frame = job.frame_start
            job.status = 'ready'
            db.session.add(job)
            db.session.commit()

            TaskApi.delete_tasks(job.id)
            TaskApi.create_tasks(job)

            #Security check
            insecure_names=[None, "", "/", "\\", ".", ".."]
            path = os.path.join(job.project.render_path_server, str(job.id))
            if job.project.render_path_server not in insecure_names and str(job.id) not in insecure_names:
                if os.path.exists(path):
                    rmtree(path)
            logging.info('Job {0} reset end ready'.format(job_id))
Example #3
0
    def post(self):
        args = id_list.parse_args()
        print Job.query.all()
        print args['id']
        int_list = list_integers_string(args['id'])
        for j in int_list:
            TaskApi.delete_tasks(j)
            job = Job.query.get(j)
            if job:
                #path = os.path.join(job.project.render_path_server, str(j))
                #Security check
                #insecure_names=[None, "", "/", "\\", ".", ".."]
                #if job.project.render_path_server not in insecure_names and str(j) not in insecure_names:
                #    if exists(path):
                #        rmtree(path)

                db.session.query(JobManagers).filter(JobManagers.job_id == job.id).delete()
                db.session.delete(job)
                db.session.commit()
                print "[info] Deleted job %d" % j
            else:
                print "[error] Job %d not found" % j
                return '', 404

        return '', 204
Example #4
0
    def reset(job_id):
        job = Job.query.get(job_id)
        if job:
            if job.status in ['active', 'waiting']:
                logging.error("Job {0} is running".format(job_id))
                response = jsonify({
                    'code':
                    400,
                    'message':
                    "This job is running, stop it first."
                })
                response.status_code = 400
                return response
            else:
                log = "Status changed from {0} to {1}".format(
                    job.status, 'waiting')
                job.status = 'waiting'
                job.tasks_status = json.dumps({
                    'count': job.tasks.count(),
                    'completed': 0,
                    'failed': 0,
                    'canceled': 0
                })
                job.date_edit = datetime.now()
                db.session.commit()
                log_to_database(job_id, 'job', log)

                TaskApi.delete_tasks(job.id)
                TaskApi.create_tasks(job)
                logging.info('Job {0} reset end ready'.format(job_id))

        else:
            logging.error("Job {0} not found".format(job_id))
            raise KeyError
Example #5
0
    def post(self):
        args = id_list.parse_args()
        print Job.query.all()
        print args['id']
        int_list = list_integers_string(args['id'])
        for j in int_list:
            TaskApi.delete_tasks(j)
            job = Job.query.get(j)
            if job:
                path = os.path.join(job.project.render_path_server, str(j))
                #Security check
                #insecure_names=[None, "", "/", "\\", ".", ".."]
                #if job.project.render_path_server not in insecure_names and str(j) not in insecure_names:
                #    if exists(path):
                #        rmtree(path)

                db.session.query(JobManagers).filter(
                    JobManagers.job_id == job.id).delete()
                db.session.delete(job)
                db.session.commit()
                print "[info] Deleted job %d" % j
            else:
                print "[error] Job %d not found" % j
                return '', 404

        return '', 204
Example #6
0
    def reset(job_id):
        job = Job.query.get(job_id)
        if job.status == 'running':
            logging.error('Job {0} is running'.format(job_id))
            response = jsonify({
                'code': 400,
                'message': 'This job is running, stop it first.'
            })
            response.status_code = 400
            return response
        else:
            job.current_frame = job.frame_start
            job.status = 'ready'
            db.session.add(job)
            db.session.commit()

            TaskApi.delete_tasks(job.id)
            TaskApi.create_tasks(job)

            #Security check
            insecure_names = [None, "", "/", "\\", ".", ".."]
            path = os.path.join(job.project.render_path_server, str(job.id))
            if job.project.render_path_server not in insecure_names and str(
                    job.id) not in insecure_names:
                if os.path.exists(path):
                    rmtree(path)
            logging.info('Job {0} reset end ready'.format(job_id))
Example #7
0
    def reset(job_id):
        job = Job.query.get(job_id)
        if job:
            if job.status == 'running':
                logging.error("Job {0} is running".format(job_id))
                response = jsonify({
                    'code' : 400,
                    'message': "This job is running, stop it first."})
                response.status_code = 400
                return response
            else:
                log = "Status changed from {0} to {1}".format(job.status, 'ready')
                job.status = 'ready'
                job.date_edit = datetime.now()
                db.session.commit()
                log_to_database(job_id, 'job', log)

                TaskApi.delete_tasks(job.id)
                TaskApi.create_tasks(job)

                # Security check
                # insecure_names = [None, "", "/", "\\", ".", ".."]
                # path = join(job.project.render_path_server, str(job.id))
                # if job.project.render_path_server not in insecure_names and str(job.id) not in insecure_names:
                #     if exists(path):
                #         rmtree(path)
                logging.info('Job {0} reset end ready'.format(job_id))

        else:
            logging.error("Job {0} not found".format(job_id))
            raise KeyError
Example #8
0
    def post(self):
        args = id_list.parse_args()
        int_list = list_integers_string(args['id'])
        for j in int_list:
            TaskApi.delete_tasks(j)
            job = Job.query.get(j)
            if job:
                db.session.query(JobManagers)\
                    .filter(JobManagers.job_id == job.id).delete()
                db.session.delete(job)
                db.session.commit()
                logging.info("Deleted job {0}".format(j))
            else:
                logging.error("Job {0} not found".format(j))
                return '', 404

        return '', 204
Example #9
0
    def post(self):
        args = id_list.parse_args()
        int_list = list_integers_string(args['id'])
        for j in int_list:
            TaskApi.delete_tasks(j)
            job = Job.query.get(j)
            if job:
                db.session.query(JobManagers)\
                    .filter(JobManagers.job_id == job.id).delete()
                db.session.delete(job)
                db.session.commit()
                logging.info("Deleted job {0}".format(j))
            else:
                logging.error("Job {0} not found".format(j))
                return '', 404

        return '', 204
Example #10
0
    def post(self):
        args = id_list.parse_args()
        print Job.query.all()
        print args['id']
        int_list = list_integers_string(args['id'])
        for j in int_list:
            TaskApi.delete_tasks(j)
            job = Job.query.get(j)
            if job:
                path = os.path.join(job.project.render_path_server, str(j))
                if exists(path):
                    rmtree(path)

                db.session.delete(job)
                db.session.commit()
                print "[info] Deleted job %d" % j
            else:
                print "[error] Job %d not found" % j
                return '', 404

        return '', 204
Example #11
0
    def reset(self, job_id):
        job = Job.query.get(job_id)
        if job:
            if job.status == 'running':
                print'Job %d is running' % job_id
                raise KeyError
            else:
                job.current_frame = job.frame_start
                job.status = 'ready'
                db.session.add(job)
                db.session.commit()

                TaskApi.delete_tasks(job.id)
                TaskApi.create_tasks(job)

                path = os.path.join(job.project.render_path_server, str(job.id))
                if os.path.exists(path):
                    rmtree(path)
        else:
            print('[error] Job %d not found' % job_id)
            raise KeyError
Example #12
0
    def reset(self, job_id):
        job = Job.query.get(job_id)
        if job:
            if job.status == 'running':
                logging.error("Job {0} is_running".format(job_id))
                raise KeyError
            else:
                job.status = 'ready'
                db.session.add(job)
                db.session.commit()

                TaskApi.delete_tasks(job.id)
                TaskApi.create_tasks(job)

                path = join(
                    job.project.render_path_server, str(job.id))
                if exists(path):
                    rmtree(path)
        else:
            logging.error("Job {0} not found".format(job_id))
            raise KeyError
Example #13
0
    def reset(self, job_id):
        job = Job.query.get(job_id)
        if job:
            if job.status == 'running':
                print 'Job %d is running' % job_id
                raise KeyError
            else:
                job.status = 'ready'
                db.session.add(job)
                db.session.commit()

                TaskApi.delete_tasks(job.id)
                TaskApi.create_tasks(job)

                path = os.path.join(job.project.render_path_server,
                                    str(job.id))
                if os.path.exists(path):
                    rmtree(path)
        else:
            print('[error] Job %d not found' % job_id)
            raise KeyError
Example #14
0
    def post(self):
        args = id_list.parse_args()
        int_list = list_integers_string(args['id'])
        for j in int_list:
            TaskApi.delete_tasks(j)
            job = Job.query.get(j)
            if job:
                #path = join(job.project.render_path_server, str(j))
                #Security check
                #insecure_names=[None, "", "/", "\\", ".", ".."]
                #if job.project.render_path_server not in insecure_names and str(j) not in insecure_names:
                #    if exists(path):
                #        rmtree(path)

                db.session.query(JobManagers)\
                    .filter(JobManagers.job_id == job.id).delete()
                db.session.delete(job)
                db.session.commit()
                logging.info("Deleted job {0}".format(j))
            else:
                logging.error("Job {0} not found".format(j))
                return '', 404

        return '', 204
Example #15
0
    def post(self):
        args = id_list.parse_args()
        int_list = list_integers_string(args['id'])
        for j in int_list:
            TaskApi.delete_tasks(j)
            job = Job.query.get(j)
            if job:
                #path = join(job.project.render_path_server, str(j))
                #Security check
                #insecure_names=[None, "", "/", "\\", ".", ".."]
                #if job.project.render_path_server not in insecure_names and str(j) not in insecure_names:
                #    if exists(path):
                #        rmtree(path)

                db.session.query(JobManagers)\
                    .filter(JobManagers.job_id == job.id).delete()
                db.session.delete(job)
                db.session.commit()
                logging.info("Deleted job {0}".format(j))
            else:
                logging.error("Job {0} not found".format(j))
                return '', 404

        return '', 204
Example #16
0
    def reset(job_id):
        job = Job.query.get(job_id)
        if job:
            if job.status in ['active', 'waiting']:
                logging.error("Job {0} is running".format(job_id))
                response = jsonify({
                    'code' : 400,
                    'message': "This job is running, stop it first."})
                response.status_code = 400
                return response
            else:
                log = "Status changed from {0} to {1}".format(job.status, 'waiting')
                job.status = 'waiting'
                job.tasks_status = json.dumps({
                    'count': job.tasks.count(),
                    'completed': 0,
                    'failed': 0,
                    'canceled': 0})
                job.date_edit = datetime.now()
                db.session.commit()
                log_to_database(job_id, 'job', log)

                TaskApi.delete_tasks(job.id)
                TaskApi.create_tasks(job)

                # Security check
                # insecure_names = [None, "", "/", "\\", ".", ".."]
                # path = join(job.project.render_path_server, str(job.id))
                # if job.project.render_path_server not in insecure_names and str(job.id) not in insecure_names:
                #     if exists(path):
                #         rmtree(path)
                logging.info('Job {0} reset end ready'.format(job_id))

        else:
            logging.error("Job {0} not found".format(job_id))
            raise KeyError