Ejemplo n.º 1
0
def submit(req,aid):
    if req.method == 'GET':
        try:
            app = App.objects.get(id=aid)
        except:
            raise Http404()
        params = Param.objects.filter(app=app).filter(name__isnull=False).order_by("order")
        dict={'app':app,'params':params}
        return ren2res("jobs/submit.html",req,dict)
    elif req.method == 'POST':
        id = req.POST['id']
        params = Param.objects.filter(app=int(id)).order_by("order")
        cmd=""
        for param in params:
            value=req.POST.get(str(param.order))
            if value is None:
                cmd+=str(param.value)+" "
            elif not value.strip() and not param.blank:
                try:
                    return ren2res("jobs/submit.html",req,{'app':App.objects.get(id=aid),
                                                           'params':params.filter(name__isnull=False),
                                                           'err':"带*的参数不能为空!"})
                except:
                    raise Http404()
            else:
                cmd+=value+" "
        job=Job(uid=req.user,app_id=id,cmd=cmd.strip())
        job.save()
        client.start(job.id)
        return HttpResponseRedirect("/jobs/")
Ejemplo n.º 2
0
def finished(req,id,ok):
    try:
        job=Job.objects.get(pk=id)
    except:
        return HttpResponseNotFound()
    if job.status != 2 and job.status != 3 and job.status != 4:
        return HttpResponseBadRequest()
    f=open(os.path.join(RESULT_DIR,'out_'+str(id)),mode='w')
    f.write(req.POST.get('out',''))
    f.close()
    f=open(os.path.join(RESULT_DIR,'err_'+str(id)),mode='w')
    f.write(req.POST.get('err',''))
    f.close()
    ret=req.POST.get('ret')
    try:
        ret=int(ret)
        job.ret=ret
    except:
        pass
    job.status=(0 if ok else -2)
    job.end_time=timezone.now()
    job.save()
    client.count-=1
    client.start()
    return HttpResponse()
Ejemplo n.º 3
0
def submit(req, aid):
    if req.method == 'GET':
        try:
            app = App.objects.get(id=aid)
        except:
            raise Http404()
        params = Param.objects.filter(app=app).filter(
            name__isnull=False).order_by("order")
        dict = {'app': app, 'params': params}
        return ren2res("jobs/submit.html", req, dict)
    elif req.method == 'POST':
        id = req.POST['id']
        params = Param.objects.filter(app=int(id)).order_by("order")
        cmd = ""
        for param in params:
            value = req.POST.get(str(param.order))
            if value is None:
                cmd += str(param.value) + " "
            elif not value.strip() and not param.blank:
                try:
                    return ren2res(
                        "jobs/submit.html", req, {
                            'app': App.objects.get(id=aid),
                            'params': params.filter(name__isnull=False),
                            'err': "带*的参数不能为空!"
                        })
                except:
                    raise Http404()
            else:
                cmd += value + " "
        job = Job(uid=req.user, app_id=id, cmd=cmd.strip())
        job.save()
        client.start(job.id)
        return HttpResponseRedirect("/jobs/")
Ejemplo n.º 4
0
def finished(req, id, ok):
    try:
        job = Job.objects.get(pk=id)
    except:
        return HttpResponseNotFound()
    if job.status != 2 and job.status != 3 and job.status != 4:
        return HttpResponseBadRequest()
    f = open(os.path.join(RESULT_DIR, 'out_' + str(id)), mode='w')
    f.write(req.POST.get('out', ''))
    f.close()
    f = open(os.path.join(RESULT_DIR, 'err_' + str(id)), mode='w')
    f.write(req.POST.get('err', ''))
    f.close()
    ret = req.POST.get('ret')
    try:
        ret = int(ret)
        job.ret = ret
    except:
        pass
    job.status = (0 if ok else -2)
    job.end_time = timezone.now()
    job.save()
    client.count -= 1
    client.start()
    return HttpResponse()