Esempio n. 1
0
def submit(request, username=None):
    errorMessage = ''

    if request.method == 'POST':
        form = SubmitScriptForm(request.POST)
        if form.is_valid():
            script = __handleForm(form, username)

            #creates file script
            scriptFile = None
            try:
                scriptFile = open(script['scriptName'], 'w', 0744)
                temp = string.replace(script['executionCommands'], '\r\n', '\n')
                temp = string.replace(temp, '\r', '\n')
                scriptFile.write(temp)
            except Exception as err:
                server_logger.error(str(err))
                errorMessage = str(err)
            finally:
                if scriptFile is not None:
                    scriptFile.close()

            result = TorqueService.submitScript(script)

            if result["Result"] == "OK":
                return HttpResponseRedirect('/user/' + username + '/monitor')
            else:
                server_logger.error(str(result['Message']))
                errorMessage = str(result['Message'])
    else:
        form = SubmitScriptForm()

    return render_to_response('pytorque/submit.html',
        RequestContext(request, {'userName': username, 'form': form, 'errorMessage': errorMessage}))
Esempio n. 2
0
def get_jobs(request, username=None):
    resultJSON = {}

    if request.method == 'POST':
        try:
            jobs = TorqueService.getJobs()
            resultJSON['Result'] = 'OK'
            resultJSON['Records'] = jobs
        except Exception as exc:
            server_logger.error(exc)

    else:
        resultJSON['Result'] = 'ERROR'
        resultJSON['Message'] = 'Use \'POST\' request, please'

    return HttpResponse(jsonpickle.encode(resultJSON, unpicklable=False), content_type="application/json")
Esempio n. 3
0
def get_jobs(request, username=None):
    resultJSON = {}

    if request.method == 'POST':
        try:
            jobs = TorqueService.getJobs()
            resultJSON['Result'] = 'OK'
            resultJSON['Records'] = jobs
        except Exception as exc:
            server_logger.error(exc)

    else:
        resultJSON['Result'] = 'ERROR'
        resultJSON['Message'] = 'Use \'POST\' request, please'

    return HttpResponse(jsonpickle.encode(resultJSON, unpicklable=False),
                        content_type="application/json")
Esempio n. 4
0
def submit(request, username=None):
    errorMessage = ''

    if request.method == 'POST':
        form = SubmitScriptForm(request.POST)
        if form.is_valid():
            script = __handleForm(form, username)

            #creates file script
            scriptFile = None
            try:
                scriptFile = open(script['scriptName'], 'w', 0744)
                temp = string.replace(script['executionCommands'], '\r\n',
                                      '\n')
                temp = string.replace(temp, '\r', '\n')
                scriptFile.write(temp)
            except Exception as err:
                server_logger.error(str(err))
                errorMessage = str(err)
            finally:
                if scriptFile is not None:
                    scriptFile.close()

            result = TorqueService.submitScript(script)

            if result["Result"] == "OK":
                return HttpResponseRedirect('/user/' + username + '/monitor')
            else:
                server_logger.error(str(result['Message']))
                errorMessage = str(result['Message'])
    else:
        form = SubmitScriptForm()

    return render_to_response(
        'pytorque/submit.html',
        RequestContext(request, {
            'userName': username,
            'form': form,
            'errorMessage': errorMessage
        }))
Esempio n. 5
0
    def handle(self, *args, **options):
        currentTime = datetime.now()

        try:
            pbsServers = TorqueService.getModelServers()
            for pbsServer in pbsServers:
                pbsServer.time = currentTime
                pbsServer.save()

                pbsQueues = TorqueService.getModelQueues(pbsServer)
                for pbsQueue in pbsQueues:
                    pbsQueue.time = currentTime
                    pbsQueue.save()

                pbsJobs = TorqueService.getModelJobs()
                TorqueService.mapJobsToQueue(pbsQueues, pbsJobs)

                users = User.objects.all()
                TorqueService.mapJobsToUser(users, pbsJobs)

                for pbsJob in pbsJobs:
                    pbsJob.time = currentTime
                    pbsJob.save()

            #make raw query, fill user_stat
            pUserQuerySet = User.objects.raw(
                'SELECT auth_user.*, COUNT(DISTINCT pytorque_pbsjob.jobId) as jobCount FROM pytorque_pbsjob, auth_user\
                                            WHERE pytorque_pbsjob.user_id = auth_user.id\
                                            GROUP BY auth_user.username')
            for rowQuerySet in pUserQuerySet:
                userStat = PBSUserStat()
                userStat.jobCount = rowQuerySet.jobCount
                userStat.username = rowQuerySet.username
                userStat.time = currentTime
                userStat.save()

        except Exception as exc:
            server_logger.error(
                "An unexpected error occurred while running cron task: %s" %
                str(exc))