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/")
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()
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/")
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()