Exemplo n.º 1
0
    def render_clip_length_media(self, clip):
        self.render_type = CLIP_LENGTH_RENDER
        self.clip = clip
        self.launch_render_data = (clip, clip.clip_in, clip.clip_out, clip.clip_in)

        job_proxy = self.get_launch_job_proxy()
        jobs.add_job(job_proxy)
Exemplo n.º 2
0
    def render_preview(self, clip, frame, frame_start_offset):
        self.render_type = PREVIEW_RENDER
        self.clip = clip  # This can be None because we are not doing a render update edit after render.
        self.launch_render_data = (clip, frame, frame, frame_start_offset)

        job_proxy = self.get_launch_job_proxy()
        jobs.add_job(job_proxy)
Exemplo n.º 3
0
    def render_full_media(self, clip):
        self.render_type = FULL_RENDER
        self.clip = clip
        self.launch_render_data = (clip, 0, self.container_data.unrendered_length, 0)

        job_proxy = self.get_launch_job_proxy()
        jobs.add_job(job_proxy)
Exemplo n.º 4
0
    def render_clip_length_media(self, clip):
        self.render_type = CLIP_LENGTH_RENDER
        self.clip = clip
        self.launch_render_data = (clip, clip.clip_in, clip.clip_out + 1,
                                   clip.clip_in)
        #self._launch_render(clip, clip.clip_in, clip.clip_out + 1, clip.clip_in)
        job_proxy = self.get_launch_job_proxy()
        jobs.add_job(job_proxy)

        self.add_as_status_polling_object()
Exemplo n.º 5
0
    def render_full_media(self, clip):
        self.render_type = FULL_RENDER
        self.clip = clip
        self.launch_render_data = (clip, 0,
                                   self.container_data.unrendered_length, 0)
        #self._launch_render(clip, 0, self.container_data.unrendered_length, 0)

        job_proxy = self.get_launch_job_proxy()
        jobs.add_job(job_proxy)

        self.add_as_status_polling_object()
Exemplo n.º 6
0
def add_job():
    try:
        job = json.loads(request.form.get('jsonData'))
    except Exception as e:
        return json.dumps({
            'status': "Error",
            'message': 'Invalid JSON: {}.'.format(e)
        })
    jobData = jobs.add_job(job)

    while (jobData['status'] == 'submitted'):
        jobData = jobs.get_job(jobData['job_id'])
        time.sleep(2)
    jobData = json.dumps(jobs.get_job(jobData['job_id']))
    jsonData = json.loads(jobData)

    # render a different form for a plot
    if (jsonData['job_type'] == 'plot'):
        job_link = "https://isp-proxy.tacc.utexas.edu/phart/download/" + jsonData[
            'job_id']
        return render_template('plot.html',
                               job_id=jsonData['job_id'],
                               job_link=job_link)

    return render_template('formReturn.html',
                           job_type=jsonData['job_type'],
                           data=jobData)
Exemplo n.º 7
0
def raw_job():
    try:
        job = request.get_json(force=True)
    except Exception as e:
        return json.dumps({
            'status': "Error",
            'message': 'Invalid JSON: {}.'.format(e)
        })
    return json.dumps(jobs.add_job(job))
Exemplo n.º 8
0
def jobs_api():
    try:
        job = request.get_json(force=True)
    except Exception as e:
        return True, json.dumps({
            'status': "Error",
            'message': 'Invalid JSON: {}.'.format(e)
        })
    return json.dumps(jobs.add_job(job['start'], job['end']))
Exemplo n.º 9
0
def jobs_api():
    try:
        job = request.get_json(force=True)
    except Exception as e:
        return True, json.dumps({
            'status': "Error",
            'message': 'Invalid JSON: {}.'.format(e)
        })
    return "Job submitted." + "\n" + json.dumps(jobs.add_job(
        job['restaurant']))
Exemplo n.º 10
0
def create_jobs():
    try:
        job = request.get_json(force=True)
    except Exception as e:
        return True, json.dumps({
            'status': "Error",
            'message': 'Invalid JSON: {}.'.format(e)
        })
    return json.dumps(
        jobs.add_job(job['CASENUMBER'], job['TYPEOFBUSINESS'],
                     job['TYPEOFCOMPLAINT'], job['OPENDATE'], job['CLOSEDATE'],
                     job['OUTCOME'], job['LATITUDE'], job['LONGITUDE']))
Exemplo n.º 11
0
    def _launch_render(self, clip, range_in, range_out):
        #print("rendering gmic container clip:", self.get_container_program_id(), range_in, range_out)
        gmicheadless.clear_flag_files(self.get_container_program_id())

        job_proxy = self.get_job_proxy()
        job_proxy.text = _("Render Starting..")
        jobs.add_job(job_proxy)

        args = ("session_id:" + self.get_container_program_id(),
                "script:" + self.container_data.program,
                "clip_path:" + self.container_data.unrendered_media,
                "range_in:" + str(range_in), "range_out:" + str(range_out),
                "profile_desc:" +
                PROJECT().profile.description().replace(" ", "_"))

        # Run with nice to lower priority if requested
        nice_command = "nice -n " + str(
            10) + " " + respaths.LAUNCH_DIR + "flowbladegmicheadless"
        for arg in args:
            nice_command += " "
            nice_command += arg

        subprocess.Popen([nice_command], shell=True)
Exemplo n.º 12
0
def job_creation(job_type="data"):
    """
    Takes a json dictionary with start, end, limit, or offset keys.
    Checks input with input_checker, returns 400 and errors if they exist.
    'job_type' may be 'stats', 'graph', or 'data'.
    If none given at /jobs post, a data job will be default.
    Submits jobs to job database for use with worker queues.
    Returns job details as json dictionary.
    """
    post_data = json.loads(request.get_data().decode("utf-8"))
    if post_data:
        if "start" in post_data:
            start = post_data["start"]
        else:
            start = None

        if "end" in post_data:
            end = post_data["end"]
        else:
            end = None

        if "limit" in post_data:
            limit = post_data["limit"]
        else:
            limit = None

        if "offset" in post_data:
            offset = post_data["offset"]
        else:
            offset = None

    start, end, limit, offset, errors = input_checker(start, end, limit,
                                                      offset)
    if errors:
        return jsonify(errors), 400
    return jobs.add_job(job_type, start, end, limit, offset) + "\n"
Exemplo n.º 13
0
def put_job_in_log(param, cmd):
    jid = add_job(param, cmd)
    return jid
Exemplo n.º 14
0
def jobs_api():
	'''
	try:
		job = request.get_json(force=True)
	except Exception as e:
		return True, json.dumps({'status': "Error", 'message': 'Invalid JSON: {}.'.format(e)})

	return json.dumps(jobs.add_job(job['start'], job['end']))
	'''
	if request.method == 'POST':
		try:
			job = request.get_json(force=True)
		except Exception as e:
			return json.dumps({'status':'Error', 'message': 'Invalid JSON: {}.'.format(e)})

		# tests if both start/end and limit/offset used together
		if ('start' in job or 'end' in job) and ('limit' in job or 'offset' in job):
			return jsonify({'msg':'Please do not use start/end with limit/offset'}), 400

		# if start/end provided, posts appropriate job
		if 'start' in job or 'end' in job:
			start = None
			end = None
			if 'start' in job:
				try:
					start = int(job['start'])
				except:
					return jsonify({'msg':'Please Enter a Valid Start'}), 400
			
			if 'end' in job:
				try:
					end = int(job['end'])
				except:
					return jsonify({'msg':'Please Enter a Valid End'}), 400

			return json.dumps(jobs.add_job(start, end))

		# if limit/offset provided, posts appropriate job
		if 'limit' in job or 'offset' in rjob:
			limit = None
			offset = None
			# converts start/limit to start/end
			start = 1850
			end = 1979

			if 'offset' in job:
				try:
					offset = int(job['offset'])
					start = start+offset
				except:
					return jsonify({'msg':'Please Enter a Valid Offset'}), 400

			if 'limit' in job:
				try:
					limit = int(job['limit'])
					end = start+limit
				except:
					return jsonify({'msg':'Please Enter a Valid Limit'}), 400

			return json.dumps(jobs.add_job(start, end))

		# makes job with all data if no parameters provided
		return json.dumps(jobs.add_job())


	if request.method == 'GET':
		data = jobs.get_all_jobs()

		return json.dumps(data)