X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=qcg%2Fservice.py;h=44cb42ee4407307ac3cbc78e30d4c79af018c28d;hb=8a983ab6644978d2d0908e94f744b5d193df4826;hp=c87f40a83920a2280803a6817793ac7c948663b6;hpb=0b053edee9793cef21c62b3ccb379eb304a22ccd;p=qcg-portal.git diff --git a/qcg/service.py b/qcg/service.py index c87f40a..44cb42e 100644 --- a/qcg/service.py +++ b/qcg/service.py @@ -1,4 +1,5 @@ import logging +import os import time from django.db import transaction @@ -85,7 +86,7 @@ def update_user_data(user, proxy): @transaction.atomic def update_job(job, proxy): - if job.terminated: + if job.terminated and job.purged: return ts = time.time() @@ -147,6 +148,8 @@ def submit_job(params, proxy): 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['nodes']: desc.set_nodes(*params['nodes']) if params['reservation']: @@ -180,3 +183,19 @@ 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) + + +def clean(obj, proxy): + ts = time.time() + QCG.start() + + qcg_obj = obj.qcg_job if isinstance(obj, Job) else obj.qcg_task + qcg_obj.credential = Credential(proxy) + + jts = time.time() + qcg_obj.clean() + elapsed_clean = time.time() - jts + + elapsed = time.time() - ts + elapsed_py = elapsed - elapsed_clean + logger.info('(%.3f) OBJ = %s (%.3f), TIME = %.3f', elapsed, obj, elapsed_clean, elapsed_py)