def await(job): while True: print 'awaiting job', job, '...' status, dir = shared.get_job_status(job) if status != 'awaiting': print 'finished with status', status return status time.sleep(3)
def process(self, job): web.header('Content-Type', 'text/json') job = str(uuid(job)) status, _ = get_job_status(job) if status == 'awaiting': return json(dict(status = status, **db.queue_position(job))) else: return json(dict(status = status))
def process_fetch(job, fetchurl): outdir = path.join(config.outputdir, str(job)) try: _, location = get_job_status(job) urllib.urlretrieve(fetchurl, path.join(location, config.inputfn)) return True except Exception, e: emit_meta(location, dict(error = 'Failed to fetch swf')) emit_exception(location) os.rename(location, outdir) return False
def process_one(job): job = uuid(job) print 'We have job', job status, location = get_job_status(job) if status != 'awaiting': print 'rejected: already processed' return dict() outdir = path.join(config.outputdir, str(job)) try: meta = swfback.process_file(path.join(location, config.inputfn), location) except Exception, e: emit_meta(location, dict(error = 'Failed to process swf')) emit_exception(location) meta = dict()