X-Git-Url: http://git.sthu.org/?p=paralleljobs.git;a=blobdiff_plain;f=paralleljobs.py;h=baf79651b101056abf7eb20513c73303e8cbf695;hp=f2e6eea15828b9c080945232db2b4d8e10c8dd92;hb=c9ac24f37d75d103df68fefde3d5cfe88d0ea939;hpb=a2f946a6b7a771f86b0ad07e01504f3b77d1ba63 diff --git a/paralleljobs.py b/paralleljobs.py index f2e6eea..baf7965 100755 --- a/paralleljobs.py +++ b/paralleljobs.py @@ -166,6 +166,7 @@ COMMANDS: OPTIONS: -d database the database to process + -n num in -w mode, only perform num-many jobs -p cols-def create properties table with SQL column spec -v print output of the job's command @@ -206,9 +207,10 @@ if __name__ == "__main__": propdef = None work = False status = False + numjobs = None try: - opts, args = getopt.getopt(sys.argv[1:], "hd:c:p:wsv") + opts, args = getopt.getopt(sys.argv[1:], "hd:c:p:wsvn:") for opt, arg in opts: if opt == "-h": @@ -226,6 +228,8 @@ if __name__ == "__main__": status = True elif opt == "-v": verbose = True + elif opt == "-n": + numjobs = int(arg) else: print("Unknown option '", opt, "'.") @@ -254,12 +258,15 @@ if __name__ == "__main__": insertJobs(conn, cmds) if work: - while True: + n = 0 + while not numjobs or n < numjobs: + jobid = getNextJobId(conn) if jobid == None: print("All jobs have been started.") break processJob(conn, jobid) + n += 1 conn.close()