1) added retmin, retmax
[qcg-portal.git] / qcg / service.py
index 15d939c..787ea38 100644 (file)
@@ -1,19 +1,14 @@
 import logging
 import logging
-import os
 import time
 
 from django.db import transaction
 from django.utils.functional import SimpleLazyObject
 from django.utils.timezone import now
 from pyqcg import QCG
 import time
 
 from django.db import transaction
 from django.utils.functional import SimpleLazyObject
 from django.utils.timezone import now
 from pyqcg import QCG
-from pyqcg.description import JobDescription
 from pyqcg.service import Registry
 from pyqcg.utils import Credential, TimePeriod, JobStatus, TaskStatus
 
 from pyqcg.service import Registry
 from pyqcg.utils import Credential, TimePeriod, JobStatus, TaskStatus
 
-from filex.ftp import FTPOperation
-from qcg.constants import QCG_DATA_URL
 from qcg.models import User, Job, Task, Allocation, NodeInfo
 from qcg.models import User, Job, Task, Allocation, NodeInfo
-from qcg.utils import random_id, chunks
 
 
 logger = logging.getLogger(__name__)
 
 
 logger = logging.getLogger(__name__)
@@ -89,9 +84,6 @@ def update_user_data(user, proxy):
 
 @transaction.atomic
 def update_job(job, proxy):
 
 @transaction.atomic
 def update_job(job, proxy):
-    if job.terminated and job.purged:
-        return
-
     ts = time.time()
     QCG.start()
 
     ts = time.time()
     QCG.start()
 
@@ -137,46 +129,6 @@ def update_job(job, proxy):
                 elapsed, job.job_id, elapsed_job, job.tasks.count(), elapsed_tasks, elapsed_py)
 
 
                 elapsed, job.job_id, elapsed_job, job.tasks.count(), elapsed_tasks, elapsed_py)
 
 
-def make_job_desc(params, proxy):
-    QCG.start()
-    desc = JobDescription(Credential(proxy))
-
-    direct_map = ('env_variables', 'executable', 'arguments', 'note', 'grant', 'hosts', 'properties', 'queue', 'procs',
-                  'wall_time', 'memory', 'memory_per_slot', 'modules', 'input', 'stage_in', 'native', 'notify',
-                  'preprocess', 'postprocess', 'persistent')
-
-    for name in direct_map:
-        if params[name]:
-            setattr(desc, name, params[name])
-
-    if params['application']:
-        desc.set_application(*params['application'])
-        desc.stage_in += [params['master_file']]
-        desc.arguments.insert(0, os.path.basename(params['master_file']))
-    if params['script']:
-        ftp = FTPOperation(proxy)
-
-        ftp.mkdir(QCG_DATA_URL, parents=True)
-        url = os.path.join(QCG_DATA_URL, 'script.{}.sh'.format(random_id()))
-        ftp.put(url)
-
-        for chunk in chunks(params['script'], 4096):
-            ftp.stream.put(chunk)
-        ftp.stream.put(None)
-
-        ftp.wait()
-        desc.executable = url
-    if params['nodes']:
-        desc.set_nodes(*params['nodes'])
-    if params['reservation']:
-        desc.set_reservation(params['reservation'])
-    if params['watch_output']:
-        desc.set_watch_output(params['watch_output'], params['watch_output_pattern'])
-    # TODO monitoring
-
-    return desc
-
-
 def cancel(obj, proxy):
     ts = time.time()
     QCG.start()
 def cancel(obj, proxy):
     ts = time.time()
     QCG.start()