Example #1
0
def create_job(modelname):
    # import pdb; pdb.set_trace()
    if not g.user.username:
        abort(400)
    username = g.user.username
    user = db_utils.get_user_or_return(username)
    model = db_utils.get_model_or_return(user, modelname)

    params = {}
    if request.data:
        # Make sure there's no funny business
        for k,v in json.loads( request.data.iteritems() ):
            if validate_alphanumeric_with_allowed(k) and validate_alphanumeric_with_allowed(v):
                continue
            else:
                abort(400)

        params = request.data
    jid, jout, jerr = remote.submit_remote_job(model, username, params)

    job = models.Job(id=jid,
                      model_id=model.id, 
                      user_id=user.id,
                      output=jout,
                      error=jerr)

    return db_utils.database_add(job)
Example #2
0
def read_job(modelname,job_id):
    if not g.user.username:
        abort(400)
    username = g.user.username
    user = db_utils.get_user_or_return(username)
    model = db_utils.get_model_or_return(user, modelname)
    job = db_utils.get_job_or_return(user, model, job_id)
    output = remote.get_job_ouput(job)

    return output