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)
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)
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)
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()
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()
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)
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))
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']))
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']))
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']))
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)
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"
def put_job_in_log(param, cmd): jid = add_job(param, cmd) return jid
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)