move job submission to dedicated function
authorMaciej Tronowski <mtro@man.poznan.pl>
Wed, 9 Sep 2015 14:11:19 +0000 (16:11 +0200)
committerDawid Jagieła <lightnir@gmail.com>
Sat, 12 Sep 2015 10:13:07 +0000 (12:13 +0200)
qcg/service.py
qcg/utils.py
qcg/views.py

index 787ea38..9e99d43 100644 (file)
@@ -129,6 +129,22 @@ def update_job(job, proxy):
                 elapsed, job.job_id, elapsed_job, job.tasks.count(), elapsed_tasks, elapsed_py)
 
 
+def submit(obj, proxy):
+    ts = time.time()
+    QCG.start()
+    cred = Credential(proxy)
+
+    jts = time.time()
+    result = obj.submit(cred)
+    elapsed_submit = time.time() - jts
+
+    elapsed = time.time() - ts
+    elapsed_py = elapsed - elapsed_submit
+    logger.info('(%.3f) JOB = %s, REMOTE = %.3f, LOCAL = %.3f', elapsed, result.job_id, elapsed_submit, elapsed_py)
+
+    return result
+
+
 def cancel(obj, proxy):
     ts = time.time()
     QCG.start()
@@ -142,7 +158,7 @@ def cancel(obj, proxy):
 
     elapsed = time.time() - ts
     elapsed_py = elapsed - elapsed_cancel
-    logger.info('(%.3f) OBJ = %s (%.3f), TIME = %.3f', elapsed, obj, elapsed_cancel, elapsed_py)
+    logger.info('(%.3f) OBJ = %s, REMOTE = %.3f, LOCAL = %.3f', elapsed, obj, elapsed_cancel, elapsed_py)
 
 
 def clean(obj, proxy):
@@ -158,4 +174,4 @@ def clean(obj, proxy):
 
     elapsed = time.time() - ts
     elapsed_py = elapsed - elapsed_clean
-    logger.info('(%.3f) OBJ = %s (%.3f), TIME = %.3f', elapsed, obj, elapsed_clean, elapsed_py)
+    logger.info('(%.3f) OBJ = %s, REMOTE = %.3f, LOCAL = %.3f', elapsed, obj, elapsed_clean, elapsed_py)
index 44de96f..37a5b1a 100644 (file)
@@ -12,7 +12,6 @@ from django.utils.formats import date_format
 from django.utils.timezone import localtime
 from django.views.decorators.cache import cache_control
 from pyqcg import QCG
-from pyqcg.utils import Credential
 from pyqcg.description import JobDescription
 
 from filex.ftp import FTPOperation
@@ -103,7 +102,7 @@ def generate_md_inputfile(params):
 
 def to_job_desc(params, proxy):
     QCG.start()
-    desc = JobDescription(Credential(proxy))
+    desc = JobDescription()
 
     direct_map = ('env_variables', 'executable', 'arguments', 'note', 'grant', 'hosts', 'properties', 'queue', 'procs',
                   'wall_time', 'memory', 'memory_per_slot', 'modules', 'input', 'stage_in', 'native', 'notify',
index dab0a24..3fae343 100644 (file)
@@ -23,12 +23,8 @@ from filex.ftp import FTPOperation, FTPError
 from filex.views import make_url
 from qcg.forms import FiltersForm, ColumnsForm, JobDescriptionForm, EnvFormSet, JobTemplateForm
 from qcg.models import JobTemplate
-<<<<<<< HEAD
-from qcg.utils import paginator_context, to_job_desc, to_form_data, generate_md_inputfile
-=======
 from qcg.utils import paginator_context, to_job_desc, to_form_data, restricted
->>>>>>> 4a588e0... set Cache-Control header for restricted views
-from qcg.service import update_user_data, update_job, cancel, clean
+from qcg.service import update_user_data, update_job, cancel, clean, submit
 
 
 from django.utils import encoding
@@ -36,7 +32,7 @@ import string
 import random
 import os
 from qcg import constants
-from qcg.utils import chunks
+from qcg.utils import chunks, generate_md_inputfile
 # for Debugging
 from pprint import pprint
 
@@ -251,8 +247,9 @@ def job_submit(request, template_id=None):
                 return redirect(template)
 
             # wyłączenie wysyłania zadania - zakomentować poniżej
-            
-            job = job_desc.submit()
+
+            job = submit(job_desc, request.session['proxy'])
+
 
             messages.success(request,
                              format_html('<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> '