c.execute("SELECT sum(workloadestm) FROM jobs;")
wltotal, = c.fetchone()
- c.close()
perdone = 0
perwl = 0
print("%d (%.1f%%) of %d jobs and %.1f%% of the workload done. %d jobs are running." % \
(nodone, perdone, nototal, perwl, nostarted-nodone))
+ print("Exit code stats:")
+ c.execute("SELECT exitcode, count(exitcode) AS cnt FROM jobs WHERE exitcode >= 0 GROUP BY exitcode ORDER BY exitcode ASC;")
+ for code, cnt in c.fetchall():
+ print(" %3s: %6s (%5.1f%%)" % (code, cnt, 100.0*float(cnt)/nodone))
+
+ c.close()
+
def createPropertiesTable(conn, propdef):
conn.execute("BEGIN EXCLUSIVE")
exitcode = proc.wait()
if verbose:
- print(out, err)
+ print out, err
return exitcode, out, err
c.execute("SELECT cmd FROM jobs WHERE id=?", (jobid,))
cmd, = c.fetchone()
- print("Process job %d: %s" % (jobid, cmd))
-
+ print "Job %d: '%s'..." % (jobid, cmd),
ec, out, err = runCmd(cmd)
+ if ec==0:
+ print " [OK]"
+ else:
+ print " [FAILED: %d]" % ec
+
c.execute("UPDATE jobs SET exitcode=?, done=1 WHERE id=?;", (ec, jobid))
propstr = []
# Create table, if necessary
c.execute("SELECT count(name) FROM sqlite_master WHERE name='jobs';")
if c.fetchone() == (0,):
- print("Creating jobs table.")
+ print "Creating jobs table."
conn.execute("CREATE TABLE jobs ( \
id INTEGER PRIMARY KEY AUTOINCREMENT, \
cmd STRING NOT NULL, \