Esempio n. 1
0
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)
Esempio n. 2
0
 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))
Esempio n. 3
0
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
Esempio n. 4
0
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()