def setUp(self): self.WS = WorkerSetup() if os.path.exists(self.WS.instance_yaml): self.WS.run() self.settings = self.WS.settings_dict self.encode_profile = 'desktop_mp4' self.veda_id = 'XXXXXXXX2016-V00TEST' self.jobid = 'xx4xx' self.VW = VedaWorker(veda_id=self.veda_id, encode_profile=self.encode_profile, jobid=self.jobid)
def setUp(self): self.WS = WorkerSetup() if os.path.exists(self.WS.instance_yaml): self.WS.run() self.settings = self.WS.settings_dict self.encode_profile = 'desktop_mp4' """ Gen abstractions """ # Video self.VideoObject = Video(veda_id='XXXXXXXX2016-V00TEST', ) self.VideoObject.activate() # Encode self.E = Encode(VideoObject=self.VideoObject, profile_name=self.encode_profile) self.E.pull_data() self.ffcommand = None
from __future__ import absolute_import import os import sys from os.path import expanduser from celery import Celery import shutil """ Start Celery Worker (if VEDA-attached node) """ sys.path.append(os.path.dirname(os.path.abspath(__file__))) from config import WorkerSetup WS = WorkerSetup() if os.path.exists(WS.instance_yaml): WS.run() settings = WS.settings_dict homedir = expanduser("~") def cel_Start(): app = Celery( settings['celery_app_name'], broker='amqp://' + settings['rabbitmq_user'] + \ ':' + settings['rabbitmq_pass'] + '@' + settings['rabbitmq_broker'] + ':5672//', backend='amqp://' + settings['rabbitmq_user'] + \ ':' + settings['rabbitmq_pass'] + '@' + settings['rabbitmq_broker'] + ':5672//', include=['celeryapp']
def run(self): WS = WorkerSetup() if self.setup is True: WS.setup = True WS.run() self.settings = WS.settings_dict if self.encode_profile is None: ErrorObject().print_error( message = 'No Encode Profile Specified' ) return None self.VideoObject = Video( veda_id=self.veda_id ) self.VideoObject.activate() if self.VideoObject.valid is False: ErrorObject().print_error( message = 'Invalid Video / VEDA Data' ) return None if not os.path.exists(self.workdir): os.mkdir(self.workdir) """ Pipeline Steps : I. Intake Ib. Validate Mezz II. change status in APIs III. Generate Encode Command IV. Execute Encodes IVa. Validate Products (*)V. Deliver Encodes (sftp and others?), retrieve URLs (*)VI. Change Status in APIs, add URLs VII. Clean Directory """ self._ENG_INTAKE() if self.VideoObject.valid is False: ErrorObject().print_error( message = 'Invalid Video / Local' ) return None self._UPDATE_API() if self.encode_profile == 'hls': self._HLSPipeline() else: self._StaticPipeline() print self.endpoint_url if self.endpoint_url is not None: """ Integrate with main """ veda_id = self.veda_id encode_profile = self.encode_profile celeryapp.deliverable_route.apply_async( (veda_id, encode_profile), queue='transcode_stat' ) """ Clean up workdir """ if self.jobid is not None: shutil.rmtree( self.workdir )
def setUp(self): self.WS = WorkerSetup() if os.path.exists(self.WS.instance_yaml): self.WS.run() self.settings = self.WS.settings_dict