def run_task(self, result_id, runjob_id, *args, **kwargs): """Note: Even if you decide to override the entire run method, make sure you load and save images with gamera methods, and not PIL methods. Otherwise the loaded/saved images often don't have the proper pixel types, and becomes unsuitable for use in a workflow with other gamera-based jobs.""" runjob = RunJob.objects.get(pk=runjob_id) if runjob.needs_input: if runjob.status == RunJobStatus.RUN_ONCE_WAITING: self.retry(args=[result_id, runjob_id], *args, countdown=10, **kwargs) else: # This is the first time the job is running. taskutil.set_running(runjob) page_url = taskutil.get_page_url(runjob, result_id) settings = taskutil.get_settings(runjob) updates = self.preconfigure_settings(page_url, settings) taskutil.apply_updates(runjob, updates) taskutil.set_run_once_waiting(runjob) self.retry(args=[result_id, runjob_id], *args, countdown=10, **kwargs) else: taskutil.set_running(runjob) page_url = taskutil.get_page_url(runjob, result_id) settings = taskutil.get_settings(runjob) init_gamera() task_image = load_image(page_url) result_image = self.process_image(task_image, settings) result = taskutil.save_result_as_png(result_image, runjob) return str(result.uuid)
def run_task(self, result_id, runjob_id, *args, **kwargs): runjob = RunJob.objects.get(pk=runjob_id) taskutil.set_running(runjob) xml_filepath = taskutil.get_input_path(runjob, result_id) # Trouble settings = taskutil.get_settings(runjob) segmented_image_path = self._get_segmented_image_path(runjob.workflow_run, settings['segmented_image_source'], runjob.page) page_order = runjob.page.page_order mei_document = self.process_image(segmented_image_path, xml_filepath, settings, page_order) result = self.save_result(runjob, mei_document) return str(result.uuid)
def run_task(self, result_id, runjob_id, *args, **kwargs): runjob = RunJob.objects.get(pk=runjob_id) taskutil.set_running(runjob) xml_filepath = taskutil.get_input_path(runjob, result_id) # Trouble settings = taskutil.get_settings(runjob) segmented_image_path = self._get_segmented_image_path( runjob.workflow_run, settings['segmented_image_source'], runjob.page) page_order = runjob.page.page_order mei_document = self.process_image(segmented_image_path, xml_filepath, settings, page_order) result = self.save_result(runjob, mei_document) return str(result.uuid)