Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "rda_python_common"
version = "1.0.30"
version = "1.0.32"
authors = [
{ name="Zaihua Ji", email="zji@ucar.edu" },
]
Expand Down
13 changes: 7 additions & 6 deletions src/rda_python_common/PgDBI.py
Original file line number Diff line number Diff line change
Expand Up @@ -315,13 +315,13 @@ def aborttran(autocommit = True):
#
# record error message to dscheck record and clean the lock
#
def record_dscheck_error(errmsg):
def record_dscheck_error(errmsg, logact = PGDBI['EXITLG']):

cnd = PgLOG.PGLOG['DSCHECK']['chkcnd']
if PgLOG.PGLOG['NOQUIT']: PgLOG.PGLOG['NOQUIT'] = 0
dflags = PgLOG.PGLOG['DSCHECK']['dflags']

pgrec = pgget("dscheck", "mcount, tcount, lockhost, pid", cnd, PgLOG.LGEREX)
pgrec = pgget("dscheck", "mcount, tcount, lockhost, pid", cnd, logact)
if not pgrec: return 0
if not pgrec['pid'] and not pgrec['lockhost']: return 0
(chost, cpid) = PgLOG.current_process_info()
Expand All @@ -330,8 +330,9 @@ def record_dscheck_error(errmsg):
# update dscheck record only if it is still locked by the current process
record = {}
record['chktime'] = int(time.time())
record['status'] = "E"
record['pid'] = 0 # release lock
if logact&PgLOG.EXITLG:
record['status'] = "E"
record['pid'] = 0 # release lock
if dflags:
record['dflags'] = dflags
record['mcount'] = pgrec['mcount'] + 1
Expand All @@ -343,7 +344,7 @@ def record_dscheck_error(errmsg):
if pgrec['tcount'] > 1: errmsg = "Try {}: {}".format(pgrec['tcount'], errmsg)
record['errmsg'] = errmsg

return pgupdt("dscheck", record, cnd, PGDBI['ERRLOG'])
return pgupdt("dscheck", record, cnd, logact)

#
# local function to log query error
Expand All @@ -367,7 +368,7 @@ def qelog(dberror, sleep, sqlstr, vals, pgcnt, logact = PGDBI['ERRLOG']):
if vals: sqlstr += " with values: " + str(vals)

if dberror: sqlstr = "{}\n{}".format(dberror, sqlstr)
if logact&PgLOG.EXITLG and PgLOG.PGLOG['DSCHECK']: record_dscheck_error(sqlstr)
if logact&PgLOG.EXITLG and PgLOG.PGLOG['DSCHECK']: record_dscheck_error(sqlstr, logact)
PgLOG.pglog(sqlstr, logact)
if sleep: time.sleep(sleep)

Expand Down
2 changes: 1 addition & 1 deletion src/rda_python_common/PgFile.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ def errlog(msg, etype, retry = 0, logact = 0):
logact |= PgLOG.EXITLG
ECNTS[etype] = 0

if PgLOG.PGLOG['DSCHECK'] and logact&PgLOG.EXITLG: PgDBI.record_dscheck_error(msg)
if PgLOG.PGLOG['DSCHECK'] and logact&PgLOG.EXITLG: PgDBI.record_dscheck_error(msg, logact)
PgLOG.pglog(msg, logact)
PgLOG.PGLOG['BCKGRND'] = bckgrnd
if not retry: time.sleep(PgSIG.PGSIG['ETIME'])
Expand Down
2 changes: 1 addition & 1 deletion src/rda_python_common/PgOPT.py
Original file line number Diff line number Diff line change
Expand Up @@ -985,7 +985,7 @@ def action_error(errmsg, cact = None):
msg += " of " + params['DS'][0]

msg += ": " + errmsg
if PgLOG.PGLOG['DSCHECK']: PgDBI.record_dscheck_error(msg)
if PgLOG.PGLOG['DSCHECK']: PgDBI.record_dscheck_error(msg, PGOPT['extlog'])
PgLOG.pglog(msg, PGOPT['extlog'])

#
Expand Down