@@ -0,0 +1,658 @@
+import json%0A%0Aimport eHive%0A%0A%0Aclass BaseProdRunnable(eHive.BaseRunnable):%0A    def flow_output_data(self, data: dict, channel: int = 1) -%3E None:%0A        self.dataflow(%7B%0A            'data': json.dumps(data)%0A        %7D, channel)%0A%0A    def get_input_data(self) -%3E dict:%0A        return json.loads(self.param(%22data%22))%0A%0A    def write_result(self, output: dict) -%3E None:%0A        self.dataflow(%7B%0A            'job_id': self.input_job.dbID,%0A            'output': json.dumps(output)%0A        %7D, 2)%0A%0A    def write_progress(self, message: dict) -%3E None:%0A        self.dataflow(%7B%0A            'job_id': self.input_job.dbID,%0A            'message': json.dumps(message)%0A        %7D, 3)

Add BaseProdRunnable.py as a base for analysis using HiveInstance