rda-python-dscheck 1.0.4__tar.gz → 1.0.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (17) hide show
  1. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/PKG-INFO +1 -1
  2. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/pyproject.toml +1 -1
  3. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck/PgCheck.py +15 -38
  4. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck.egg-info/PKG-INFO +1 -1
  5. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/LICENSE +0 -0
  6. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/MANIFEST.in +0 -0
  7. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/README.md +0 -0
  8. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/setup.cfg +0 -0
  9. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck/__init__.py +0 -0
  10. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck/dscheck.py +0 -0
  11. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck/dscheck.usg +0 -0
  12. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck.egg-info/SOURCES.txt +0 -0
  13. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck.egg-info/dependency_links.txt +0 -0
  14. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck.egg-info/entry_points.txt +0 -0
  15. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck.egg-info/requires.txt +0 -0
  16. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/src/rda_python_dscheck.egg-info/top_level.txt +0 -0
  17. {rda_python_dscheck-1.0.4 → rda_python_dscheck-1.0.6}/tests/test_dscheck.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dscheck
3
- Version: 1.0.4
3
+ Version: 1.0.6
4
4
  Summary: RDA python package to add and process batch jobs
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-dscheck
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rda_python_dscheck"
7
- version = "1.0.4"
7
+ version = "1.0.6"
8
8
  authors = [
9
9
  { name="Zaihua Ji", email="zji@ucar.edu" },
10
10
  ]
@@ -370,7 +370,8 @@ def start_dschecks(cnd, logact = 0):
370
370
  if not CHKHOST['chkhost']: email_dschecks(cnd, logact)
371
371
  purge_dschecks(cnd, logact)
372
372
 
373
- if 'NC' in PgOPT.params or not CHKHOST['chkhost']: return 0
373
+ # if 'NC' in PgOPT.params or not CHKHOST['chkhost']: return 0
374
+ if 'NC' in PgOPT.params: return 0
374
375
  if CHKHOST['isbatch'] and 'CP' in PgOPT.params: check_dscheck_pends(cnd, logact)
375
376
  # set_dscheck_options(CHKHOST['chkhost'], cnd, logact)
376
377
  reset_process_limits()
@@ -406,10 +407,7 @@ def check_dscheck_locks(cnd, logact = 0):
406
407
  dtime = ltime - PgSIG.PGSIG['DTIME']
407
408
  ctime = ltime - PgSIG.PGSIG['CTIME']
408
409
  rtime = ltime - PgSIG.PGSIG['RTIME']
409
- if CHKHOST['chkhost']:
410
- cnd += "lockhost {} AND (stttime = 0 OR chktime < {})".format(CHKHOST['hostcond'], dtime)
411
- else:
412
- cnd += "chktime > 0 AND (chktime < {} OR chktime < {} AND lockhost = '{}' OR chktime < {} AND lockhost = 'rda_config')".format(ctime, dtime, lochost, rtime)
410
+ cnd += "chktime > 0 AND (chktime < {} OR chktime < {} AND lockhost = '{}' OR chktime < {} AND lockhost = 'rda_config')".format(ctime, dtime, lochost, rtime)
413
411
 
414
412
  pgrecs = PgDBI.pgmget("dscheck", "*", cnd, logact)
415
413
  cnt = (len(pgrecs['cindex']) if pgrecs else 0)
@@ -473,7 +471,6 @@ def update_dscheck_time(pgrec, ltime, logact = 0):
473
471
  info = PgSIG.get_pbs_info(pgrec['pid'], 0, logact)
474
472
  if info:
475
473
  stat = info['State']
476
- if stat == 'Q': stat = 'P'
477
474
  if stat != pgrec['status']: record['status'] = stat
478
475
  else:
479
476
  if pgrec['lockhost'] != PgLOG.PGLOG['HOSTNAME']: return # connot update dscheck time
@@ -812,19 +809,10 @@ def get_pbs_options(pgrec, limit = 0, logact = 0):
812
809
  #
813
810
  def get_pbsqueue_option(pgrec):
814
811
 
815
- cidx = pgrec['cindex']
816
- for pname in PBSQUEUES:
817
- if PBSQUEUES[pname]:
818
- aname = pname
819
- else:
820
- qname = pname
821
- pcnt = PgDBI.pgget("dscheck", '', "status = 'P' AND pbsqueue = '{}'".format(qname))
822
- if pcnt > 1: qname = aname
823
- if pgrec['pbsqueue'] != qname:
824
- PgDBI.pgexec("UPDATE dscheck SET pbsqueue = '{}' WHERE cindex = {}".format(qname, cidx))
825
- pgrec['pbsqueue'] = qname
812
+ qname = pgrec['pbsqueue']
813
+ if qname in PBSQUEUES: return PBSQUEUES[qname]
826
814
 
827
- return PBSQUEUES[qname]
815
+ return None
828
816
 
829
817
  #
830
818
  # build individual option string for given option name
@@ -891,9 +879,7 @@ def fill_dscheck_info(ckrec, pid, host, logact = 0):
891
879
  record['pid'] = pid
892
880
  if host == PgLOG.PGLOG['PBSNAME']:
893
881
  info = PgSIG.get_pbs_info(pid, 0, logact, 2)
894
- if info:
895
- stat = info['State']
896
- if stat == 'Q': stat = 'P'
882
+ if info: stat = info['State']
897
883
  else:
898
884
  record['runhost'] = PgLOG.PGLOG['HOSTNAME']
899
885
  record['bid'] = 0
@@ -941,8 +927,8 @@ def skip_dscheck_record(pgrec, host, logact = 0):
941
927
  def start_dsrqsts(cnd, logact = 0):
942
928
 
943
929
  check_dsrqst_locks(cnd, logact)
944
- if CHKHOST['chkhost']: return 1
945
- email_dsrqsts(cnd, logact)
930
+ # if CHKHOST['chkhost']: return 1
931
+ if not CHKHOST['chkhost']: email_dsrqsts(cnd, logact)
946
932
  purge_dsrqsts(cnd, logact)
947
933
  rcnd = cnd
948
934
  rcnd += ("status = 'Q' AND rqsttype <> 'C' AND (pid = 0 OR pid < ptcount) AND " +
@@ -1114,10 +1100,7 @@ def check_dsrqst_locks(cnd, logact = 0):
1114
1100
  dtime = ltime - PgSIG.PGSIG['DTIME']
1115
1101
  ctime = ltime - PgSIG.PGSIG['CTIME']
1116
1102
  rtime = ltime - PgSIG.PGSIG['RTIME']
1117
- if CHKHOST['chkhost']:
1118
- cnd += "lockhost {} AND locktime < {}".format(CHKHOST['hostcond'], dtime)
1119
- else:
1120
- cnd += "locktime > 0 AND (locktime < {} OR locktime < {} AND lockhost = '{}' OR locktime < {} AND lockhost = 'rda_config')".format(ctime, dtime, lochost, rtime)
1103
+ cnd += "locktime > 0 AND (locktime < {} OR locktime < {} AND lockhost = '{}' OR locktime < {} AND lockhost = 'rda_config')".format(ctime, dtime, lochost, rtime)
1121
1104
  check_partition_locks(cnd, ltime, logact) # check partitions first
1122
1105
 
1123
1106
  pgrecs = PgDBI.pgmget("dsrqst", "rindex, lockhost, pid, locktime", cnd, logact)
@@ -1259,9 +1242,9 @@ def start_dsupdts(cnd, logact = 0):
1259
1242
 
1260
1243
  ctime = PgUtil.curtime(1)
1261
1244
  check_dsupdt_locks(cnd, logact)
1262
- if CHKHOST['chkhost']: return 0
1263
- email_dsupdt_controls(cnd, logact)
1264
- email_dsupdts(cnd, logact)
1245
+ if not CHKHOST['chkhost']:
1246
+ email_dsupdt_controls(cnd, logact)
1247
+ email_dsupdts(cnd, logact)
1265
1248
 
1266
1249
  cnd += "pid = 0 and cntltime <= '{}' and action > '' AND einfo IS NULL ORDER by cntltime".format(ctime)
1267
1250
  pgrecs = PgDBI.pgmget("dcupdt", "*", cnd, logact)
@@ -1325,10 +1308,7 @@ def check_dsupdt_locks(ocnd, logact = 0):
1325
1308
  cnd = ocnd + "pid > 0 AND "
1326
1309
  ctime = ltime - 4*PgSIG.PGSIG['CTIME']
1327
1310
  rtime = ltime - PgSIG.PGSIG['RTIME']
1328
- if CHKHOST['chkhost']:
1329
- cnd += "lockhost {} AND chktime < {}".format(CHKHOST['hostcond'], dtime)
1330
- else:
1331
- cnd += "chktime > 0 AND (chktime < {} OR chktime < {} AND lockhost = '{}' OR chktime < {} AND lockhost = 'rda_config')".format(ctime, dtime, lochost, rtime)
1311
+ cnd += "chktime > 0 AND (chktime < {} OR chktime < {} AND lockhost = '{}' OR chktime < {} AND lockhost = 'rda_config')".format(ctime, dtime, lochost, rtime)
1332
1312
 
1333
1313
  pgrecs = PgDBI.pgmget("dcupdt", "cindex, lockhost, pid, chktime", cnd, logact)
1334
1314
  cnt = (len(pgrecs['cindex']) if pgrecs else 0)
@@ -1359,10 +1339,7 @@ def check_dsupdt_locks(ocnd, logact = 0):
1359
1339
  if cnt > 1: PgLOG.pglog("{} of {} DSUPDT Controls unlocked on {}".format(lcnt, cnt, PgLOG.PGLOG['HOSTNAME']), PgLOG.WARNLG)
1360
1340
 
1361
1341
  cnd = ocnd + "pid > 0 AND locktime > 0 AND "
1362
- if CHKHOST['chkhost']:
1363
- cnd += "hostname {} AND locktime < {}".format(CHKHOST['hostcond'], dtime)
1364
- else:
1365
- cnd += "(locktime < {} OR locktime < {} AND hostname = '{}' OR locktime < {} AND hostname = 'rda_config')".format(ctime, dtime, lochost, rtime)
1342
+ cnd += "(locktime < {} OR locktime < {} AND hostname = '{}' OR locktime < {} AND hostname = 'rda_config')".format(ctime, dtime, lochost, rtime)
1366
1343
 
1367
1344
  pgrecs = PgDBI.pgmget("dlupdt", "lindex, hostname, pid, locktime", cnd, logact)
1368
1345
  cnt = (len(pgrecs['lindex']) if pgrecs else 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_dscheck
3
- Version: 1.0.4
3
+ Version: 1.0.6
4
4
  Summary: RDA python package to add and process batch jobs
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-dscheck